%{getText('login.username')} always uses the en_US locale instead of
ActionContext's locale
-------------------------------------------------------------------------------------------
Key: WW-3048
URL: https://issues.apache.org/struts/browse/WW-3048
Project: Struts 2
Issue Type: Bug
Components: Other
Affects Versions: 2.1.6
Environment: Linux(Ubuntu) 2.6.24-19-generic; Sun Java 1.5.0_16;
Tomcat 6.0.18; Intel x86 32-bit CPU
Reporter: jason
I have two property files: Messages.properties (the default locale) and
Messages_de.properties (German locale). But when i use the following tag with
the browser's locale set to de_DE:
<s:textfield id="username" name="username" label="%{getText('login.username')}"
/>
The output always uses the default locale's property file, i.e.
Messages.properties. I even tries to use the request_locale like this:
http://myserver:8080/mycontext/myaction.action?request_locale=de
But the result is the same!
Then I tries to use <s:debug/> on the jsp page, and i can see the locale
property for 'myaction' object in valueStack is set to 'en_US', but the
com.opensymphony.xwork2.ActionContext.locale is set to de_DE.
Then I copies the code from Debug.java and put it to myaction's execute()
method:
ValueStack stack =
ActionContext.getContext().getActionInvocation().getStack();
Iterator iter = stack.getRoot().iterator();
List stackValues = new ArrayList(stack.getRoot().size());
OgnlReflectionProvider reflectionProvider = new
OgnlReflectionProvider();
OgnlUtil ognlUtil = new OgnlUtil();
reflectionProvider.setOgnlUtil(ognlUtil);
while (iter.hasNext()) {
Object o = iter.next();
Map values;
try {
values = reflectionProvider.getBeanMap(o);
} catch (Exception e) {
throw new StrutsException("Caught an exception while getting
the property values of " + o, e);
}
System.out.print(values);
}
Here i can see the locale property for 'myaction' object in valueStack is set
to de_DE, this is correct.
My question is why the <s:debug/> output for myaction object's locale property
is always 'en_US' but my copied code outputs 'de_DE'? and does the
"%{getText('login.username')} ognl expression use the ActionContext's locale?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.