java中如何打开一个页面_java-如何在检票口1.5中打开页面上的模式窗口

我使用wicket 1.4.x已有一段时间,这里找到的解决方案效果很好:

How to open ModalDialog on PageLoad

但是当我转到wicket 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的窗口时,此窗口是使用CSS移除样式扩展了正常ModalWindow的类,仅此而已.加载行为如下所示:

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() );

}

}

正如我上面提到的,它在wicket 1.4中起作用:(

解决方法:

由于找不到此事的答案,我采取了一种解决方法.也许对某人有帮助.首先添加到HTML文件链接(显示:无,因此没有人看到):

创建一个AjaxLink:

AjaxLink openPopup = new AjaxLink("openPopup")

{

@Override

public void onClick(AjaxRequestTarget target)

{

tmpPassChange.show( target );

}

};

add (openPopup);

然后在renderHead方法中检查打开弹出窗口的条件:

public void renderHead( IHeaderResponse response )

{

String jQueryString = "";

if ( u != null )

{

jQueryString += "jQuery('#openPopup').trigger('click');";

}

response.renderOnLoadJavaScript( jQueryString );

}

希望它会帮助某人,为我工作:)

标签:wicket,java

来源: https://codeday.me/bug/20191202/2086008.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值