我使用的1.4.x檢票了一段時間,解決方案在這裏找到工作得很好: How to open ModalDialog on PageLoad 但是,當我移動到檢票口1.5我根本不知道怎麼做模式窗口在頁面加載時彈出。如何開放模式窗口1.5
的一段代碼看起來是這樣的:
private PlainModalWindow tmpPassChange = new PlainModalWindow("tmp_pass_change");
tmpPassChange.add(new OpenWindowOnLoadBehavior());
tmpPassChange.setInitialHeight(418);
tmpPassChange.setResizable(false);
tmpPassChange.setMaskType(ModalWindow.MaskType.SEMI_TRANSPARENT);
tmpPassChange.setPageCreator(new ModalWindow.PageCreator()
{
private static final long serialVersionUID = 1L;
public Page createPage()
{
return new TmpPassChange(u, tmpPassChange);
}
});
add(tmpPassChange);
要解釋,我檢查,如果頁面具有一定的參數。當有一個我在數據庫中使用該參數的用戶時。當我有一個我想要打開PlainModalWindow,這個窗口是擴展正常的ModalWindow類與CSS刪除樣式,就是這樣。加載行爲看起來是這樣的:
public class OpenWindowOnLoadBehavior extends AbstractDefaultAjaxBehavior
{
private static final long serialVersionUID = 1L;
@Override
protected void respond(AjaxRequestTarget target)
{
ModalWindow window = (ModalWindow) getComponent();
window.show(target);
}
public void renderHead(IHeaderResponse response)
{
response.renderOnLoadJavaScript(getCallbackScript().toString());
}
}
正如我上面meanioned,它曾在檢票1.4 :(
任何JavaScript錯誤? –
nope控制檯和ajax調試窗口已清除...多數民衆贊成它看起來行爲甚至沒有添加到頁面 – kamil