チュートリアルで、プロジェクトのルートパスにresourcesというディレクトリを作成し、ApplicationResources.propertiesというディレクトリにファイルを作成して、プログラムにハードコードされたメッセージが挿入されないように、すべてのメッセージを定数として定義できることを確認しました。次の行をファイルに追加し、struts2 WebプロジェクトのMyClass-validation.xmlで使用しようとしましたが、割り当てられたメッセージに置き換えられませんでした。
私のファイルはresources/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でStruts2アプリケーションを作成することです。ところで、私のプロジェクト構造はEclipseのデフォルト構造です:MyProject /(src resources WebRoot)