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