[ 
https://issues.apache.org/struts/browse/WW-3188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46572#action_46572
 ] 

Jasper Rosenberg commented on WW-3188:
--------------------------------------

Awesome, thanks for covering this case!

> 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.6
>         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.

Reply via email to