Don't render action errors/messages when have null message
----------------------------------------------------------
Key: WW-3188
URL: https://issues.apache.org/struts/browse/WW-3188
Project: Struts 2
Issue Type: Improvement
Affects Versions: 2.1.7
Environment: Freemarker
Reporter: Jasper Rosenberg
Priority: Minor
Fix For: 2.1.8
Often I will end up passing an actionMessage to be rendered via an url such as:
http://www.myco.com/myapp/doit.action?actionMessages=Display+This+Message
This message is often set dynamically in the result for a redirect, for example:
<result
type="redirect">http://www.myco.com/myapp/doit.action?actionMessages=${actionMessages[0]}</result>
But of course there may be no actionMessage actually available, and so the url
ends up:
http://www.myco.com/myapp/doit.action?actionMessages=
In this case we end up with one null action message in the actionMessages list,
and so when you use the actionmessage tag, you get a list with "null" as the
message.
I worked around this by just overriding the actionmessage.ftl and
actionerror.ftl templates to check that if the list has content, the first
element also "?has_content". This isn't terribly general though.
I think a decent improvement would be to just check each action message with
?has_content (which checks for null and empty string) as you iterate and only
render the "li" if it is true. Then just only output the starting "ul" when
hit the first one, and the terminating ul if there was a message with content
found.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.