You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2012/07/21 18:39:38 UTC

[jira] [Commented] (WW-3833) Repopulating Field upon conversion Error does not work when doing localization

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

Hudson commented on WW-3833:
----------------------------

Integrated in Struts2 #505 (See [https://builds.apache.org/job/Struts2/505/])
    WW-3833 adds new getFormatted method to support localization and conversion errors (Revision 1364110)

     Result = FAILURE
lukaszlenart : 
Files : 
* /struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
* /struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/ActionSupportTest.java
* /struts/struts2/trunk/xwork-core/src/test/resources/com/opensymphony/xwork2/ActionSupportTest$MyActionSupport_da.properties

                
> Repopulating Field upon conversion Error does not work when doing localization
> ------------------------------------------------------------------------------
>
>                 Key: WW-3833
>                 URL: https://issues.apache.org/jira/browse/WW-3833
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.3.3, 2.3.4
>            Reporter: J. Garcia
>            Assignee: Lukasz Lenart
>             Fix For: 2.3.5
>
>         Attachments: struts-test.zip
>
>
> In the documentation, there is a way to repopulate a field with the original user input when there is a conversion error:
> http://struts.apache.org/2.3.3/docs/conversion-validator.html
> However, this does not work if you try to apply l10n to user input: integers, dates, real numbers.
> Current workaround:
> In jsp:
> {code:xml}
> <s:textfield key="user.born" value="%{getFormatted('format.number','user.born')}" />
> {code}
> In BaseAction:
> {code:java}
>     public String getFormatted(String key, String expr) {
>         Map<String, Object> conversionErrors = ActionContext.getContext().getConversionErrors();
>         if (conversionErrors.containsKey(expr)) {
>             String[] vals = (String[]) conversionErrors.get(expr);
>             return vals[0];
>         } else {
>             final ValueStack valueStack = ActionContext.getContext().getValueStack();
>             final Object val = valueStack.findValue(expr);
>             List<Object> valList = new ArrayList<Object>();
>             valList.add(val);
>             return getText(key, valList);
>         }
>     }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira