如何修改 <s:textfield> 以从 Applicationresources.properties 文件中获取值



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

label.username= Username
label.password=Password

我使用的JSP包含struts 2标签包含以下片段:

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

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

提前感谢

我不确定您在哪里以及如何定义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)

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

此外,Struts2键属性可以在textfield标记中使用,以指示框架为textfield的名称和标签属性使用什么值。您可以直接使用键属性,而不是直接提供这些属性及其值。

因此,要么使用name="username"key="label.username".

只需查看官方文件,了解详细的工作原理以及框架如何搜索属性文件消息资源文件

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

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

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

struts.custom.i18n.resources=ApplicationResources

相关内容

  • 没有找到相关文章

最新更新