Wicket ajax更新组件行为?

Dav*_*Vdd 2 ajax wicket

我已经从DefaultDataTable重写了rowitem以添加一些onClick行为.

        @Override
        protected Item newRowItem(String id, int index, IModel model) {
             //return super.newRowItem(id, index, model);
            final Item<SearchResult> rowItem = super.newRowItem(id, index,model);
            rowItem.add(new AjaxEventBehavior ("onclick") {
               @Override
               protected void onEvent(AjaxRequestTarget target){
                  WebMarkupContainer wmc = new WebMarkupContainer("myTest");
                  target.add(wmc); //this doesn't work
                  add(wmc); //works but only when I refresh the page
               }
            });
            return rowItem;
        }

        <object wicket:id="myTest" data="" border="1" width="100%" height="600px"></object>
Run Code Online (Sandbox Code Playgroud)

当发生点击时,我想更新对象的数据并重新加载对象.该对象是Pdf文件.如果我使用目标,Pdf似乎不会重新加载.我已经设定

         wmc.setOutputMarkupId(true);
Run Code Online (Sandbox Code Playgroud)

但这似乎没有帮助.

我怎么能这样做,所以用户不必刷新页面???

我刚开始使用Wicket和Ajax,所以我是初学者.

Chr*_*ter 7

您应该将原始容器添加到AjaxRequestTarget,而不是创建新容器.确保容器使用动态模型,以便在通过AJAX重绘组件时实际更新该值.