Wicket Framework DropDownChoice

Nis*_*ede -1 java wicket

我试图在wicket框架中获取dropdownchoice的选定值,但我无法得到它.如何在dropdownchoice的更改事件中获取DropDownChoice的选定值?谢谢.一世

Chr*_*ter 7

这很简单,你所要做的就是使用AjaxFormComponentUpdatingBehavior:

DropDownChoice<String> ddc = new DropDownChoice<String>("ddc", model, Arrays.asList("a", "b", "c"));
ddc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
    @Override
    protected void onUpdate(AjaxRequestTarget target) {
        System.out.println("selected: " + model.getObject());
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 考虑到这个ajax行为将更新DropDownChoice的ModelObject,并执行其验证.如果验证失败,将调用`onError`而不是`onUpdate`.请注意,这有一个缺点; 涉及此组件的`FormValidators`将不会自动执行.如果您只想获取输入而不更新模型对象,请覆盖[`getUpdateModel()`](http://wicket.apache.org/apidocs/1.4/org/apache/wicket/ajax/form/AjaxFormComponentUpdatingBehavior. html#getUpdateModel())并返回false. (3认同)