Java Wicket向导下拉列表modelValue将不会更新
我正在创建一个包含定价服务列表的ListView。每个定价服务都有一个不同条款的列表,这是一个下拉选择。问题是,当我在dropdownlist中选择各种值时,Term的值不会得到更新。这是一个向导,因此我试图在单击“下一步”之前用正确的术语更新向导(向导对象有一个ProductOrder对象,它有一个术语对象) 谢谢, 泰耶 公共服务选择步骤(最终新闻订阅向导){ 最终ListView服务ChoiceList=新建ListView( “服务列表”, wizard.getCompanyPriceModel().getPricedServices()){ 受保护的void populateItem(列表项){ 最终价格服务=item.getModel().getObject(); //将标签添加到列表中。 addPricedServiceLabels(项目、服务); DropDownChoice termsDropDown=新的DropDownChoice( “期限”, 新属性模型(wizard.getProductOrder(),“术语”), service.getTerms(), 新挑选者(“描述”); 项目。添加(术语下拉列表); } }; 添加(服务选择列表); }Java Wicket向导下拉列表modelValue将不会更新,java,wicket,Java,Wicket,我正在创建一个包含定价服务列表的ListView。每个定价服务都有一个不同条款的列表,这是一个下拉选择。问题是,当我在dropdownlist中选择各种值时,Term的值不会得到更新。这是一个向导,因此我试图在单击“下一步”之前用正确的术语更新向导(向导对象有一个ProductOrder对象,它有一个术语对象) 谢谢, 泰耶 公共服务选择步骤(最终新闻订阅向导){ 最终ListView服务ChoiceList=新建ListView( “服务列表”, wizard.getCompanyPriceM
您可以使用AJAX回调来实现这一点。检查Wicket示例上的“下拉选择示例”
是向您展示如何使用正确型号执行此操作的重要文件。尝试在AjaxFormComponentUpdateingBehavior中针对术语下拉菜单
termsDropDown.add(new AjaxFormComponentUpdatingBehavior("onchange") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
wizard.getProductOrder().setService(service);
System.out.println("Chosen term: " + wizard.getProductOrder().getTerm());
target.addComponent(termsDropDown);
}
});
item.add(termsDropDown);
termsDropDown.add(new AjaxFormComponentUpdatingBehavior("onchange") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
wizard.getProductOrder().setService(service);
System.out.println("Chosen term: " + wizard.getProductOrder().getTerm());
target.addComponent(termsDropDown);
}
});
item.add(termsDropDown);