组件是转发器,不能直接通过ajax重新绘制

use*_*633 2 wicket hibernate

我创建了包含2个文本框的列表视图,
我想填写ajaxbutton提交的那些文本框.
但我收到这个错误:

组件com.cerebrum.pages.ShowCalculator $ ShowCalculatorForm $ 2已添加到目标.该组件是转发器,不能直接通过ajax重新绘制.而是在层次结构中更高的位置添加其父级或另一个标记容器.

mag*_*omi 11

您应该使用WebMarkupContainer包围列表视图,并将此标记容器添加到请求目标.

HTML代码:

<div wicket:id="wmc">
    ...
    put your list view here
    ...
</div>

java代码

final WebMarkupContainer wmc = new WebMarkupContainer("wmc");
add(wmc);
ListView yourListView = ...
// init your list view here
wmc.add(yourListView);

SubmitButton yourButton = new SubmitButton("yourButton") {
    @Override
    public void onSubmit(AjaxRequestTarget target) {
        target.add(wmc);
    }
}
add(yourButton);
Run Code Online (Sandbox Code Playgroud)