如何在PageLoad()
的WebPage
的構造函數中使用Wicket打開模式對話框,而不使用AjaxRequestTarget
?如何在PageLoad上打開ModalDialog
9
A
回答
11
我無法找到一個方法來打開它沒有一個Ajax請求,但它是完全可能的,當加載頁面時打開它,用一個簡單的行爲:
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
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());
}
}
HomePage.html
<html xmlns:wicket="http://wicket.apache.org">
<body>
<div wicket:id="modal"></div>
</body>
</html>
+0
非常感謝! – sonjafon 2011-01-22 23:25:03
1
打開頁面加載模態窗口(無AJAX參與)在Wicket Wiki
/**
* @author Ernesto Reinaldo Barreiro
*/
public class OpenOnLoadModalWindow extends ModalWindow implements IHeaderContributor {
private static final long serialVersionUID = 1L;
/**
* @param id
*/
public OpenOnLoadModalWindow(String id) {
super(id);
}
/**
* @param id
* @param model
*/
public OpenOnLoadModalWindow(String id, IModel<?> model) {
super(id, model);
}
/**
* Adds the JavaScript to initially open modal window.
*/
public void renderHead(IHeaderResponse response)
{
response.renderOnDomReadyJavascript(getWindowOpenJavascript());
}
/*
* (non-Javadoc)
* @see org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow#makeContentVisible()
*/
@Override
protected boolean makeContentVisible()
{
return true;
}
}
+0
這不適用於Wicket 7.x – philonous 2017-07-04 12:54:08
相關問題
- 1. 打開Mootools在PageLoad上自動彈出SqueezeBox彈出
- 2. 如何從ListView中打開關於LinkButton的ModalDialog
- 3. 在PageLoad上執行
- 4. :目標modalDialog不開放
- 5. 如何在iPhone上打開()?
- 6. modalDialog未在CSS
- 7. pageLoad()如何被調用?
- 8. 如何在Mac上打開VS代碼打開窗口導航
- 9. 如何在vscode中重新打開上次打開的文件
- 10. 如何在Windows上打開URL列表
- 11. 如何在擺動上打開窗口
- 12. 如何在Mac上打開圖像
- 13. 如何在Mac上打開端口80?
- 14. 如何在分部上打開網站?
- 15. 如何在Android上打開文件
- 16. 如何在Windows上打開pgsql文件?
- 17. 如何避免在swift上打開viewcontroller?
- 18. 如何在Mac上打開.diff文件?
- 19. 如何在Xcode上打開.pbproj?
- 20. 如何在10.12 Sierra上打開Web Inspector?
- 21. 如何在Android上打開GPS
- 22. 如何在iBooks上打開文件
- 23. 如何在Windows上打開sdcard.img文件?
- 24. 如何在Razor中使用PageLoad?
- 25. 如何停止在pageload上運行MVC3驗證腳本?
- 26. 在PageLoad上設置DropDownList的SelectedValue
- 27. 如何打開在iPhone 5中打開模擬打開?
- 28. pageLoad MVC
- 29. 如何在ubuntu上打開Eclipse - tegra開發包 - 在ubuntu中
- 30. 在Java中的ModalDialog阻止
描述在檢票口6,你可以添加一個```AjaxEventBehavior```您的頁面,打開裏面的行爲模式的。請參閱http://stackoverflow.com/a/17243712/2345093 – user2345093 2014-11-12 23:12:04