1

我有一个带有 Struts 2.3 的网络服务器(带有约定插件)

我在处理MessageResources本地化时遇到了一些问题。这是我的目录布局(简化):

  • 全局属性
  • it.group.projectName
    • 行动
      • 登录操作.java
      • LoginAction.properties
      • 用户
        • SampleAction.java
        • SampleAction.properties
        • package-info.java(约定插件定义命名空间需要)
        • 包属性

包信息.java:

@org.apache.struts2.convention.annotation.ParentPackage(value = "users") 

package it.group.projectName.actions.users;

现在,如果我要求包含在global.propertiesLoginAction.properties(使用<s:text name="navbar.myPage"/>)中的字符串,一切正常。

但是,当我询问与( )对应的页面中包含的package.properties任何字符串时,它似乎找不到它,只是打印出密钥。有任何想法吗?SampleAction.propertiesSampleActionsample.jsp

根据这篇文章(和其他文章),Struts2 应该加载这些文件,但它似乎在约定插件和命名空间重新定义方面存在一些问题。

4

1 回答 1

1

根据那篇文章,你应该仔细阅读。另一种获取消息资源的方法是使用getText. 确保当前的语言环境是默认的并且一个动作 extends ActionSupport

<s:property value="getText('navbar.myPage')" /> 
于 2013-11-10T12:02:55.677 回答