| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
'''動的 input field の生成'''
<&lt;s:textfield name="postalCode"/>&gt;
もし、"postalCode"プロパティが、value stack にある場合、input フィールドには、その値がセットされます。フィールドがフレームワークにサブミットされたとき、コントロールの値は、"postalCode"プロパティにセットされます。
'''ラベルのセットに式を使用する'''
<&lt;s:textfield label="%{getText("postalCode.label")}" name="postalCode"/>&gt;
[[http://struts.apache.org/2.x/docs/ognl.html OGNL 式言語]]は、メソッドを呼び出し、プロパティを評価します。
getTextメソッドは、ActionSupportにより提供されています。ActionSupportは、ほとんどのアクションの基底クラスです。
Actionは、スタックに乗っているため、getTextを含む、どのメソッドも式から呼び出すことができます。
'''booleanを評価'''
<&lt;s:select label="%{getText("state.label")}" name="state" multiple="true"/>&gt;
multiple 属性は、booleanプロパティにマップされるため、フレームワークは値をStringと解釈しません。
'''boolean を評価(詳細)'''
<&lt;s:select label="%{getText("state.label")}" name="state" multiple="%{true}"/>&gt;
'''boolean を評価(プロパティの使用)'''
<&lt;s:select label="%{getText("state.label")}" name="state" multiple="allowMultiple"/>&gt;
'''boolean を評価(プロパティの使用 詳細)'''
<&lt;s:select label="%{getText("state.label")}" name="state" multiple="%{allowMultiple}"/>&gt;
===value は オブジェクト!===
'''きっと動作しない!'''
<&lt;s:textfield label="%{getText("state.label")}" name="state" value="CA"/>&gt;
もし、textfield が、"CA"という値を渡されたら、フレームワークは、getCa プロパティを探す。おそらくそれは、意図するところではない。文字列を渡すことを意図しているはずだ。式言語においては、定数は、引用符に囲んで表す。
'''文字列定数を渡す正しい方法'''
<&lt;s:textfield label="%{getText("state.label")}" name="state" value="%{'CA'}" />&gt;
もうひとつの方法は、value="'CA'"とする方法だ。しかし、こういった例では、式言語の記法を推奨する。

案内メニュー