0

我正在开发一个简单的 GUI,我希望从 ApplicationResources.properties 文件中获取用户名值。我的文件包含以下两行:

label.username= Username
label.password=Password

我正在使用包含 struts 2 标记的 JSP,其中包含以下代码段:

<s:textfield cssClass="login-inp" name="username" key="label.username" size="20" />

但是当我运行我的项目时,我看到label.username表示未读取属性文件中的值..我错过了什么吗?如何解决这个问题呢 ?请帮助

提前致谢

4

2 回答 2

3

我不确定您在哪里以及如何定义properties文件,但是在搜索资源包时 struts2 以特定方式搜索它们

  1. ActionClass.properties。
  2. BaseClass.properties(一直到 Object.properties)
  3. Interface.properties(每个接口和子接口)
  4. ModelDriven 的模型(如果实现了 ModelDriven),对于模型对象从 1 开始重复
  5. package.properties(类所在目录和每个父目录一直到根目录)
  6. 搜索 i18n 消息密钥层次结构本身
  7. webwork.properties 中定义的全局资源属性 (webwork.custom.i18n.resources)

有关详细信息/国际化,请参阅文档。

此外,Struts 2 的 key 属性可以在 textfield 标记中使用,以指示框架为 textfield 的 name 和 label 属性使用什么值。您可以只使用 key 属性,而不是直接提供这些属性及其值。

所以要么使用 name="username" key="label.username"。

只需阅读官方文档即可了解其工作原理以及框架如何搜索属性文件 message-resource-files

于 2012-01-18T11:00:43.277 回答
1

在您的 struts.xml 文件中添加以下行,就在第一个包定义的顶部。

<constant name="struts.custom.i18n.resources" value="ApplicationResources" />

或者

在 src 文件夹中添加 struts.properties 文件。并保留以下属性。

struts.custom.i18n.resources=ApplicationResources
于 2012-04-27T18:23:14.443 回答