我有一个带有 AjaxLazyLoadPanel 的页面,其中包含一个长加载列表并提交 AjaxButton。
AjaxLazyLoadPanel 准备好后,当我提交时,另一个长加载正在执行,之后我需要刷新整个页面。这是我自己的地方,代码如下所示:
AjaxButton button1 = new AjaxButton("submit1") {
@Override
protected void onSubmit(AjaxRequestTarget target, Form form) {
someLongWorkingMethod();
setResponsePage(page); //refreshing page
}
};
add(button1);
而且效果很好。但是我现在要做的是在方法正在计算时禁用此按钮或隐藏此按钮(或整个面板,如果有必要),并且当使用 setResponsePage 刷新页面时,我希望返回此按钮.
我已经阅读了很多关于它的帖子/邮件列表,但没有任何帮助,我尝试了所有我发现的东西并将它放在 someLongWorkingMethod() 之前:
ajaxLazyLoadPanel.setOutputMarkupId(true);
ajaxLazyLoadPanel.setOutputMarkupPlaceholderTag(true);
ajaxLazyLoadPanel.add(new AttributeAppender("style","display:none;"));
ajaxLazyLoadPanel.setVisible(false);
ajaxLazyLoadPanel.setEnabled(false);
target.add(ajaxLazyLoadPanel);
对于 ajaxLazyLoadPanel 和“this”(AjaxButton)也是如此。
我是在做一些非常错误的事情还是什么?这是我想要做的甚至可能吗?我真的很感激一些帮助。