我有一个带有 Struts 2.3 的网络服务器(带有约定插件)
我在处理 MessageResources
时遇到一些问题用于本地化。
这是我的目录布局(简化):
- global.properties
- it.group.projectName
- 操作
- LoginAction.java
- LoginAction.properties
- 用户
- SampleAction.java
- SampleAction.properties
- package-info.java(约定插件需要定义命名空间)
- package.properties
- 操作
Package-info.java:
@org.apache.struts2.convention.annotation.ParentPackage(value = "users")
package it.group.projectName.actions.users;
现在,如果我要求 global.properties
中包含的字符串或LoginAction.properties
(使用 <s:text name="navbar.myPage"/>
)一切正常。
但是当我询问 package.properties
中包含的任何字符串时或SampleAction.properties
从对应于SampleAction
的页面( sample.jsp
) 似乎找不到它,只是打印出 key 。有什么想法吗?
根据this文章(和其他)Struts2 应该加载这些文件,但它似乎在约定插件和命名空间重新定义方面存在一些问题。
最佳答案
根据那篇文章,您应该仔细阅读它。获取消息资源的另一种方法是使用getText
。确保当前区域设置为默认区域设置,并且操作扩展了 ActionSupport
。
<s:property value="getText('navbar.myPage')" />
关于java - Struts 2消息资源查找问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19888907/