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

时间:2012-03-12 08:46:01

标签: hibernate wicket

我创建了包含2个文本框的列表视图 &安培;我想填写ajaxbutton提交的那些。
但是我收到了这个错误:

  

组件com.cerebrum.pages.ShowCalculator $ ShowCalculatorForm $ 2有   被添加到目标。该组件是转发器,不能   直接通过ajax重新粉刷。而是添加其父或其他   标记容器在层次结构中更高。

1 个答案:

答案 0 :(得分:10)

您应该使用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);