2011-12-05 8 views
2

。この例のコードが機能しないのはなぜですか?ブール値は、ユーザーがチェックボックスをオンまたはオフにすると変更されません。Wicketのブールモデル

boolean show = false; 
AjaxCheckBox showBox = new AjaxCheckBox("showBox", new Model<Boolean>(show)){ 
    //onUpdate stuff 
}; 

答えて

4

showBoxは、元の変数showへの参照を持っていないため、ブール値が変更されません。 showBoxモデルをfalseで初期化しました。あなたがAjaxCheckBoxのモデルに保存されているブール値を返しますgetModelObject()を、使用することができますshowBoxのモデル値にアクセスしたい場合は

AjaxCheckBox showBox = new AjaxCheckBox("showBox", new Model<Boolean>(false)){ 
    //onUpdate stuff 
}; 

:あなたが持っているコードは以下と等価あります。

モデルはウィッケットでは複雑ですが、非常に強力です。 Model値への独自の参照を保持し、さらに例示する

PropertyModelは、別のオブジェクトへの参照を保持し、そのオブジェクトのプロパティの値を格納します。 Modelのソースコードを見てみると、それは非常に簡単であることがわかります。

+0

おかげで、私はこれを試してみました、それが働いたことを見ました。 – fred