i18n消息密钥层次结构和全局资源属性之间有什么区别

时间:2014-06-19 11:44:48

标签: web struts2

今天我正在逐一测试每一件工作正常但我很困惑,当我到达7号时 我所知 按以下顺序搜索资源包:

  1. ActionClass.properties
  2. Interface.properties(每个接口和子接口)
  3. BaseClass.properties(一直到Object.properties)
  4. ModelDriven的模型(如果实现ModelDriven),模型对象从1重复
  5. package.properties(类所在目录,每个父目录一直到根目录)
  6. 搜索i18n消息密钥层次结构本身
  7. 全球资源属性
  8. 如果我使用

    ,6和7之间会有什么不同
    <init-param>
            <param-name>struts.custom.i18n.resources</param-name>
            <param-value>res</param-value>
    </init-param>
    

    并在resources文件夹中定义res.properties它将获取值。这是第六种还是第七种

1 个答案:

答案 0 :(得分:3)

在步骤6中,struts在值栈上查找域对象的属性文件: 例如,如果值堆栈上有“user”属性,并且键“user.name”,则struts将使用带有“name”键(而不是“user.name”)的消息搜索属性文件“User.properties”。

在步骤7中,将使用您的全局配置文件(名为“res.properties”)。

顺便说一句:“Struts 2 in Action”一书对这个过程有一个很好的解释。