[
https://issues.apache.org/jira/browse/WW-3833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
J. Garcia updated WW-3833:
--------------------------
Attachment: struts-test_5.zip
run with mvn jetty:run. I use maven 2.2.1.
- on browser, type: localhost:8080/struts-test/example/Login
- you'll see a form, with formatted integer.
- modify the integer like this: AAA
- submit. An error msg informing of conversion error is shown. However, the
value AAA is not maintained. Instead, the current bean value is shown.
The attached example uses the described workaround. Comment-out to reproduce
the bug.
> 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
> Fix For: 2.3.5
>
> Attachments: struts-test.zip, struts-test_5.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:
> <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