本文介绍了如何在 PageLoad 上打开 ModalDialog的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!
问题描述
如何在 PageLoad()
的构造函数中打开一个模式对话框,在没有 AjaxRequestTarget
的情况下使用 Wicket?
How can I open a modal dialog on PageLoad()
, in the constructor of the WebPage
and without the AjaxRequestTarget
, with Wicket?
推荐答案
如果没有 Ajax 请求,我找不到打开它的方法,但是完全可以在页面加载时打开它,只需一个简单的行为:
I couldn't find a way to open it without an Ajax request, but it's perfectly possible to open it when the page is loaded, with a simple behavior:
HomePage.java
HomePage.java
public class HomePage extends WebPage {
public HomePage(PageParameters pageParameters) {
super(pageParameters);
ModalWindow modal = new ModalWindow("modal");
modal.add(new OpenWindowOnLoadBehavior());
modal.setPageCreator(new ModalWindow.PageCreator() {
@Override
public Page createPage() {
return new RedirectPage("http://www.google.com");
}
});
add(modal);
}
}
OpenWindowOnLoadBehavior.java
OpenWindowOnLoadBehavior.java
public class OpenWindowOnLoadBehavior extends AbstractDefaultAjaxBehavior {
@Override
protected void respond(AjaxRequestTarget target) {
ModalWindow window = (ModalWindow) getComponent();
window.show(target);
}
@Override
public void renderHead(IHeaderResponse response) {
response.renderOnLoadJavascript(getCallbackScript().toString());
}
}
主页.html
<html xmlns:wicket="http://wicket.apache.org">
<body>
<div wicket:id="modal"></div>
</body>
</html>
这篇关于如何在 PageLoad 上打开 ModalDialog的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!