Apache Wicket:如何将PropertyModel添加到checkbox对象

时间:2014-06-19 10:40:49

标签: java apache wicket wicket-1.5

代码如下

  

< input type =“checkbox”wicket:id =“dsChk”/>

的java

  

CheckBox dsChk = new CheckBox(“dsChk”);

我不想使用以下构造函数

  

CheckBox dsChk = new CheckBox(“dsChk”,new PropertyModel(metaCommentTechSpeedBean,“dsChk”));

相反,我想通过方法

添加我的模型

通常类似于

  

dsChk .add [.....<添加modedl> .................]

请帮助

1 个答案:

答案 0 :(得分:3)

您可以使用:

dsChk.setDefaultModel(new PropertyModel(metaCommentTechSpeedBean, "dsChk"));

或者看看CompoundPropertyModel

然后你得到这样的东西

CompoundPropertyModel<MetaCommentTechSpeedBean> props = 
    new CompoundPropertyModel<MetaCommentTechSpeedBean>(metaCommentTechSpeedBean);
Form<MetaCommentTechSpeedBean> form = new Form<MetaCommentTechSpeedBean>("wicketid", props);
CheckBox dsChk = new CheckBox("dsChk");
form.add(dsChk);
add(form);

CompoundPropertyModel将根据您为CheckBox对象提供的wicketid设置正确的PropertyModel。在表单onSubMit()调用中,您可以getModelObject()获取MetaCommentTechSpeedBean对象。