Java Wicket布尔模型
我想创建一个ajaxcheckbox,而不使用propertymodel将其连接到类属性。为什么示例中的代码不起作用?当用户选中或取消选中复选框时,布尔值不会更改Java Wicket布尔模型,java,model,wicket,Java,Model,Wicket,我想创建一个ajaxcheckbox,而不使用propertymodel将其连接到类属性。为什么示例中的代码不起作用?当用户选中或取消选中复选框时,布尔值不会更改 boolean show = false; AjaxCheckBox showBox = new AjaxCheckBox("showBox", new Model<Boolean>(show)){ //onUpdate stuff }; boolean show=false; AjaxCheckBox show
boolean show = false;
AjaxCheckBox showBox = new AjaxCheckBox("showBox", new Model<Boolean>(show)){
//onUpdate stuff
};
boolean show=false;
AjaxCheckBox showBox=新的AjaxCheckBox(“showBox”,新型号(显示)){
//非更新材料
};
布尔值不会更改,因为显示框
没有对原始变量的引用show
。您刚刚用false初始化了显示框
模型。您的代码相当于:
AjaxCheckBox showBox = new AjaxCheckBox("showBox", new Model<Boolean>(false)){
//onUpdate stuff
};
AjaxCheckBox showBox=新的AjaxCheckBox(“showBox”,新型号(false)){
//非更新材料
};
如果要访问显示框的模型值,可以使用getModelObject()
,它将返回存储在AjaxCheckBox
模型中的布尔值
wicket中的模型很复杂,但功能非常强大
为了进一步说明,模型
保留其自身对值的引用PropertyModel
保留对不同对象的引用,然后将值存储在该对象的属性中。查看Model
的源代码,您会发现它非常简单