J. Garcia created WW-3833:
-----------------------------

             Summary: 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.4, 2.3.3
            Reporter: J. Garcia
             Fix For: 2.3.5


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:

<s:textfield key="user.born" 
value="%{getFormatted('format.number','user.born')}" />


In BaseAction:

    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);

        }
    }



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

        

Reply via email to