2017-05-28 12 views
0

私はブール型プロパティ "Boolean isValid"を含むバックエンドpojo(MyBeanと言う)を持っています。私はStruts2 JSPで表示するMyBeanのリストを作成しています。今度は、各MyBeanの横にラジオボタンを用意して、いずれか1つを有効なBeanとして選択できるようにします。ブール型Beanプロパティをラジオボタンでバインドする方法

あらかじめ定義された値のリストの中からラジオを選択したいのではありません( "list"はラジオの必須属性です)。誰もこれを達成する方法を提案することはできますか?

答えて

0

リストはあなただけisValid値をフィルタリングするOGNL投影を使用することができます返されたら、boolean型プロパティは、ゲッター

public Boolean isValid() { return this.isValid; } 

を持つ必要があります。または、listkey属性とlistValue属性を使用する場合は、まったく必要ありません。

はストラットのドキュメントからの例を参照してください。この例では

を、無線制御が性別のリストが表示されます。 ジェンダーリストは、属性id=gendersから作成されています。フレームワーク はgetGenders()を呼び出し、Mapを返します。

listKeylistValueの属性を使用する例については、selectタグのセクションを参照してください。 アクションクラスのgetMale()メソッド によって選択されたデフォルトのもの(この場合)は、 getGenders()マップのキーに似た値を返す必要があります。その特定の性別を選択する必要があります。

<s:action name="GenderMap" var="genders"/> 
<s:radio label="Gender" name="male" list="#genders.genders"/> 
<@s.radio name="car" list={"ford": "Ford Motor Co", "toyota": "Toyota"} listKey="key" listValue="value" /> 
+0

返信ありがとうございます!私はすでにこれを試しています。このラジオ(イテレータの下)は、その "名前"が同じ場合にのみ機能します。しかし、この「名前」はページを送信する際に使用されるため、すべてのBeanに同じ名前を付けることはできません(各無線はバックエンドの特定のBeanにマップする必要がありますが、フロントエンドには選択肢は1つだけです)。 –

関連する問題