我在一个教程中看到,我可以在项目的根路径中创建一个名为 resources 的目录,并在该目录中创建一个名为 ApplicationResources.properties 的文件,以将所有消息定义为常量,以防止在程序中插入硬编码消息,我已将以下行添加到文件中,我尝试在我的 struts2 Web 项目的 MyClass-validation.xml 中使用它们,但它们没有被分配的消息替换。
我的文件是资源/ApplicationResources.properties:
errors.invalid=${getText(fieldName)} is invalid.
errors.required=${getText(fieldName)} is required.
errors.number=${getText(fieldName)} must be a number.
errors.range=${getText(fieldName)} is not in the range ${min} and ${max}.
- 如果这个方法是正确的,我怎样才能将它们插入到java程序中呢?或者我只能将它们用于配置文件?
- 如果这种方法不正确,我应该怎么做?
- 我如何将它用于 i18n?
- 变量 min、max 是否应该来自消息变量范围?在配置文件中,它们应该来自标签属性。
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="duration">
<field-validator type="int">
<param name="min">1</param>
<param name="max">1000</param>
<message key="errors.range"/>
</field-validator>
</field>
</validators>
本教程是在 Eclipse 中创建 Struts 2 应用程序。BTW,我的项目结构是eclipse默认结构:MyProject/(src resources WebRoot)