我在RadioGroup的apache-wicket-7中有一个页面。我想用ajax在后端Page类中调用一个方法。为此,我添加:
AjaxFormChoiceComponentUpdatingBehavior
代码:
this.listInput = new RadioGroup<T>("radioGroup", this.model);
this.listInput.add(new AjaxFormChoiceComponentUpdatingBehavior() {
private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(AjaxRequestTarget arg0) {
System.out.println("The selected value is " + getComponent().getDefaultModelObjectAsString());
}
});
组件RadioGroup在先前的ajax调用之后变得可见,因此它也是异步呈现的。但是当wicket尝试渲染组件时,会出现错误消息:
Wicket.Ajax: Cannot bind a listener for event "click" on element "radioGroup1d" because the element is not in the DOM
添加:
setOutputMarkupPlaceholderTag(true)
什么都不做。 如何解决这个问题?
此致 Mateusz
答案 0 :(得分:2)
确保您不在HTML模板中使用<wicket:cotainer>
。那些没有呈现。