我有一个AjaxLazyLoadPanel页面,它包含一个长加载列表并提交AjaxButton。
在AjaxLazyLoadPanel准备就绪后,当我提交时,另一个长时间加载正在执行,之后我需要刷新整个页面。这是我自己的地方,代码如下:
AjaxButton button1 = new AjaxButton("submit1") {
@Override
protected void onSubmit(AjaxRequestTarget target, Form form) {
someLongWorkingMethod();
setResponsePage(page); //refreshing page
}
};
add(button1);
它完美无缺。但是我现在要做的是 - 在方法计算时禁用此按钮或隐藏此按钮(或整个面板,如果必要),并且当使用setResponsePage刷新页面时我想要使用此按钮
我已经阅读了很多关于它的帖子/邮件列表,但没有任何帮助我,我尝试了所有我找到的东西并把它放在了一些LongWorkingMethod()之前:
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)。
我做的事情是非常错误还是什么?这是我正在努力做到的事情吗?我真的很感激一些帮助。