- the UI Tags
- Messages and Errors from the ValidationAware interface (implemented by ActionSupport and ValidationAwareSupport)
- Within actions action classes that extend ActionSupport through the getText() method
Default action's class
If you configure action as follow
<action name="index"> <result>/index.jsp</result> </action>
it will use a default class defined with
struts-default.xml which is
com.opensymphony.xwork2.ActionSupport. It means you have two options here to get I18N working in that case:
com/opensymphony/xwork2/ActionSupport.propertiesand put messages there
default-class-refto your base class and then defined appropriated
.propertiesfile (corresponding to class' name or package)
There are several ways to access the message resources, including
text tag, and the
The default implementation of
The text tag retrieves a message from the default resource bundle.
Formatting Dates and Numbers
See Formatting Dates and Numbers for more details and examples.
Comparison with Struts 1
Struts 1 users should be familiar with the application.properties resource bundle, where you can put all the messages in the application that are going to be translated. Struts 2, though, splits the resource bundles per action or model class, and you may end up with duplicated messages in those resource bundles. A quick fix for that is to create a file called ActionSupport.properties in com/opensymphony/xwork2 and put it on your classpath. This will only work well if all your actions subclass XWork2's ActionSupport.