0

ApplicationResources.propertiesファイルからユーザー名の値を取得する簡単なGUIを開発しています。私のファイルには次の2行が含まれています:

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 タグで使用して、テキスト フィールドの name 属性と label 属性に使用する値をフレームワークに指示できます。これらの属性とその値を直接指定する代わりに、key 属性を使用することができます。

したがって、name="username" key="label.username" を使用します。

これがどのように機能するか、およびフレームワークがプロパティ ファイルを検索する方法の詳細については、公式ドキュメントを参照してください

于 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 に答える