Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 导叶:自动重新加载AjaxLazyLoadPanel_Java_Ajax_Wicket - Fatal编程技术网

Java 导叶:自动重新加载AjaxLazyLoadPanel

Java 导叶:自动重新加载AjaxLazyLoadPanel,java,ajax,wicket,Java,Ajax,Wicket,我有一个带表格的页面。使用表单中的数据,我从BBDD获取信息,并使用Ajax显示在面板中 现在我尝试使用AjaxLazyLoadPanel,因为BBDD中的一些查询非常繁重。我的问题是,在第一次加载AjaxLazyLoadPanel之后,我不知道如何用新内容(新搜索)重新加载它 有什么建议吗 谢谢 我没有使用AjaxLazyLoadPanel,但是定期更新组件的一般方法是附加: 或者,如果这不起作用,则将行为转移到另一个组件,并让AjaxRequestTarget(您可能必须先连接AjaxLaz

我有一个带表格的页面。使用表单中的数据,我从BBDD获取信息,并使用Ajax显示在面板中

现在我尝试使用AjaxLazyLoadPanel,因为BBDD中的一些查询非常繁重。我的问题是,在第一次加载AjaxLazyLoadPanel之后,我不知道如何用新内容(新搜索)重新加载它

有什么建议吗


谢谢

我没有使用AjaxLazyLoadPanel,但是定期更新组件的一般方法是附加:

或者,如果这不起作用,则将行为转移到另一个组件,并让AjaxRequestTarget(您可能必须先连接AjaxLazyLoadPanel)


以下是一些关于wicket和AJAX的相关链接:


这不是Ajax的问题,而是关于第一次加载AjaxLazyLoadPanel时显示的图像(表示“加载”的小轮子)

我想我找到了一个解决办法:

在WebMarkupContainer和刷新内容的ajax按钮中添加AjaxLazyLoadPanel:

 // lazy is the WebMarkupContainer
 @Override
 protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

      lazy.replace(new AjaxLazyLoadPanel("lazyLoadSearch") {
           @Override
           public Component getLazyLoadComponent(String id) {
                return new SearchPanel(id, rep, searchString, typeOfSearch);
           }
      });

      if (target != null) {
           target.addComponent(lazy);
      }
 }
//lazy是WebMarkupContainer
@凌驾
提交时受保护的void(AjaxRequestTarget目标,表单){
lazy.replace(新的AjaxLazyLoadPanel(“lazyLoadSearch”){
@凌驾
公共组件getLazyLoadComponent(字符串id){
返回新的SearchPanel(id、rep、searchString、typeOfSearch);
}
});
如果(目标!=null){
addComponent(lazy);
}
}

您应该接受自己的解决方案,否则问题将继续显示为未回答
 // lazy is the WebMarkupContainer
 @Override
 protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

      lazy.replace(new AjaxLazyLoadPanel("lazyLoadSearch") {
           @Override
           public Component getLazyLoadComponent(String id) {
                return new SearchPanel(id, rep, searchString, typeOfSearch);
           }
      });

      if (target != null) {
           target.addComponent(lazy);
      }
 }