[
https://issues.apache.org/struts/browse/WW-2387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sauli Ketola updated WW-2387:
-----------------------------
Attachment: patchfile.txt
> Text tag doesn't consider having several TextProviders in stack
> ---------------------------------------------------------------
>
> Key: WW-2387
> URL: https://issues.apache.org/struts/browse/WW-2387
> Project: Struts 2
> Issue Type: Bug
> Components: Other
> Affects Versions: 2.1.1
> Reporter: Sauli Ketola
> Attachments: patchfile.txt
>
>
> The Text tag used for getting messages to the page will only look inside the
> first TextProvider found in the stack. In my case I found that there were
> three TextProviders in the stack so the page displays the correct message
> only when the first TextProvider contains the message I'm looking for.
> Code from org.apache.struts2.components.Text.java (breaks after the 1st
> TextProvider):
> <code>
> for (Iterator iterator = getStack().getRoot().iterator();
> iterator.hasNext();) {
> Object o = iterator.next();
> if (o instanceof TextProvider) {
> TextProvider tp = (TextProvider) o;
> msg = tp.getText(actualName, defaultMessage, values, stack);
> break;
> }
> }
> </code>
> The code will work if I insert for example
> <code>
> if(StringUtils.equals(msg, actualName)) //actualName is the default message
> returned by the TextProvider if nothing is found.
> continue;
> </code>
> before the break.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.