You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Sauli Ketola (JIRA)" <ji...@apache.org> on 2007/12/21 09:34:34 UTC

[jira] Assigned: (WW-2387) Text tag doesn't consider having several TextProviders in stack

     [ https://issues.apache.org/struts/browse/WW-2387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sauli Ketola reassigned WW-2387:
--------------------------------

    Assignee: Sauli Ketola

> 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
>            Assignee: Sauli Ketola
>
> 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.