This page last changed on Dec 14, 2004 by plightbo.

WebWork在两种地方支持国际化(简写为i18n): UI标签和活动/字段错误信息.


按照下列顺序搜索资源包:
  • ActionClass.properties
  • BaseClass.properties (直到Object.properties)
  • Interface.properties (每个接口和父接口)
  • package.properties (每一个基类的包, 直到java/lang/package.properties)

要显示i18n文本, 可以在property标签或其他任何UI标签(用作UI标签的label时特别有用)中调用getText():
<ww:property value="getText('some.key')"/>

也可以使用text标签:

<ww:text name="'some.key'"/>

注意还有一个i18n标签, 它将资源包压入栈中, 允许使用除前面提到的继承链以外的资源包显示文本.

<ww:i18n name="some/package/bundle">
    <ww:text name="'some.key'"/>
</ww:i18n>

在SiteMesh修饰器中也可以使用国际化, 但有几个小问题. 参阅SiteMesh页面了解WebWork如何与SiteMesh集成, 包括集成提示.

使用主应用目录

Struts用户应该比较熟悉application.properties资源包, 你可以把应用中需要翻译的全部消息都放在里面. 然而WebWork2将资源包分散在每个活动或模型类中, 这些资源包可能包含重复消息. 对此简单的修正方法是在类路径的目录com/opensymphony/xwork中创建文件ActionSupport.properties. 这仅在全部活动类继承ActionSupport的情况下工作.

也可以通过设置webwork.properties中的webwork.custom.i18n.resources来使用全局资源包.

Document generated by Confluence on Dec 14, 2004 16:36