Java Wicket框架下拉选择

Java Wicket框架下拉选择,java,wicket,Java,Wicket,我试图在wicket框架中获取dropdownchoice的选定值,但无法获取该值。 如何在DropDownChoice的更改事件中获取DropDownChoice的选定值??? 谢谢 我这很简单,您所要做的就是使用ajaxFormComponentUpdateingBehavior: DropDownChoice<String> ddc = new DropDownChoice<String>("ddc", model, Arrays.asList("a", "b",

我试图在wicket框架中获取dropdownchoice的选定值,但无法获取该值。 如何在DropDownChoice的更改事件中获取DropDownChoice的选定值??? 谢谢

这很简单,您所要做的就是使用
ajaxFormComponentUpdateingBehavior

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());
    }
});
DropDownChoice-ddc=新的DropDownChoice(“ddc”,model,Arrays.asList(“a”,“b”,“c”);
add(新的AjaxFormComponentUpdateBehavior(“onchange”){
@凌驾
受保护的void onUpdate(AjaxRequestTarget目标){
System.out.println(“所选:“+model.getObject());
}
});

属性模型
是解决此类问题的好选择
MyObject
是一个对象,有一个字符串
name
。我已将其中的
toString()
方法重写为name,并且它工作正常。我建议使用此方法

topicDropDown = new DropDownChoice<MyObject>("wicktID", new PropertyModel<MyObject>       (this.object, "exp"), new LoadableDetachableModel<List<MyObject>>() {
        @Override
        protected List<MyObject> load() {
            return top.getAllObjects();

        }
topicDropDown=new-DropDownChoice(“wicktID”,new-PropertyModel(this.object,“exp”),new-LoadableDetachableModel(){
@凌驾
受保护列表加载(){
返回top.getAllObject();
}

考虑到此ajax行为将更新DropDownChoice的ModelObject,并执行其验证。如果验证失败,将调用
onError
,而不是
onUpdate
。请注意,这有一个缺点;
涉及此组件的FormValidators
将不会自动执行。如果您只想在不更新模型对象的情况下设置输入,重写并返回false。改用OnChangeAjaxBehavior不是更为惯用吗?显示一些代码,粘贴错误…“它不起作用”并不能帮助我们理解问题所在。可能会很晚。感谢上帝,Nishant找到了他的答案。非常感谢你。