Struts 2のキー属性の例
ダウンロードする – リンク://wp-content/uploads/2010/06/Struts2-ActionError-ActionMessage-Example.zip[Struts2-Key-Attribute-Example.zip]
Struts 2では、UIコンポーネントの「
key
」属性は、ローカライゼーションを処理する一般的な方法であり、UIタグを非常に効率的にコーディングする方法です。以下の2つのケースを参照してください。
1.プロパティファイル
プロパティファイルには単一のメッセージが含まれています。
global.username = Username
2.ケース1
テキストフィールドに ‘
key
‘属性を割り当てた場合。 key属性はリソースバンドルからメッセージを取得し、それを
default xhtml text.tflテンプレート
に基づいてレンダリングします。
<s:form action="validateUser"> <s:textfield key="global.username"/> </s:form>
これで、global.propertiesファイルから ”
global.username \ {left-side}
“と ”
Username \ {right-side}
“が得られ、次のxhtml text.tflテンプレートに一致します。
<td class="tdLabel"> <label for="validateUser__{left-side}" class="label">{right-side}:</label> </td> <td> <input type="text" name="{left-side}" value="" id="validateUser__{left-side}"/> </td>
-
最終HTML **
<td class="tdLabel"> <label for="validateUser__global__username" class="label">Username:</label> </td> <td> <input type="text" name="global.username" value="" id="validateUser__global__username"/> </td>
キー属性は、テキストボックス名とIDとして
\ {左側}
をとります。
\ {right-side}
をラベル値として使用します。
3.ケース2
場合によっては、テキストボックスの別の名前を明示的に宣言する必要があります。
<s:form action="validateUser"> <s:textfield key="global.username" name="username"/> </s:form>
今度は、キー属性は ”
Username \ {right-side}
“をラベル値と一致させるだけで、テキストボックス名とIDは明示的に上書きされます。
-
最終HTML **
<td class="tdLabel"> <label for="validateUser__username" class="label">Username:</label> </td> <td> <input type="text" name="username" value="" id="validateUser__username"/> </td>
キーの属性は、開発速度を向上させ、コードをより効率的にすることができます。