我从Wicket 6切换到Wicket 8,AjaxFormComponentUpdatingBehavior似乎不再工作了。
示例页:
public HomePage() {
final Form<Void> form = new Form<>("form");
final TextField<String> txt = new TextField<>("txt", new Model<>());
txt.add(new AjaxFormComponentUpdatingBehavior("onchange") {
private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(final AjaxRequestTarget target) {
System.out.println("update: " + txt.getValue());
}
});
form.add(txt);
add(form);
}以及相应的html:
<form wicket:id="form">
<input wicket:id="txt">
</form>在Wicket8.5.0中,onUpdate方法永远不会被调用,并且没有错误消息。在Wicket 6中,它工作得很好。其他组件类型也会发生同样的情况,例如select/DropDownChoice。
这是个虫子吗?或者我做错什么了?
发布于 2019-07-11 07:54:22
从Wicket 6开始,以on为前缀的事件就不再受欢迎了。在Wicket 8中,对它们的支持已经被删除。通过将onchange更改为change,可以使这些组件再次工作。
另见:https://cwiki.apache.org/confluence/display/WICKET/Migration+to+Wicket+8.0
https://stackoverflow.com/questions/56983476
复制相似问题