wicket框架下显示提示窗

xiaoxiao2021-02-28  74

Html页面:

<form wicket:id="check"> <button wicket:id="linkSure" style="width:auto" > </button> </form> <div wicket:id="message"></div>

java代码:

public class Demo{ //创建提示窗口,根据用户自定义情况弹出 private ModalWindow message; //定义表单控件 private Form form; //定义点击按钮 private AjaxLink linkSure; public Demo(){ form=new Form("check"); this.add(form); linkSure=createLink("linkSure"); form.add("linkSure"); message = new ModalWindow("message"); message.setInitialHeight(100); message.setInitialWidth(300); //"cost.costMessagePrompt"为国际化文件,也就是你的提示窗表头文字 message.setTitle(new ResourceModel("cost.costMessagePrompt")); //加载到页面 add(message); } //这是你自己的方法,在这里你用来判断是否弹出提示框,也就是你的提示窗使用的地方 private AjaxLink createLink(String id){ AjaxLink link= new AjaxLink(id) { @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { if(条件满足,弹出提示框){ //生成提示窗的内容Model,"projectError.input"同样是国际化文件,是提示框的主体内容 StringResourceModel model = new StringResourceModel("projectError.input", this, null); //调用方法,弹出提示框 messagePrompt(model, ajaxRequestTarget, message); } } }; return link; } //提示框弹出方法,呈现在页面上 public void messagePrompt(final StringResourceModel finalModel, AjaxRequestTarget target, ModalWindow message){ message.setPageCreator(new ModalWindow.PageCreator(){ @Override public org.apache.wicket.Page createPage(){ //引用MessageMW类,修饰finalModel,返回对象使用 return new MessageMW(finalModel); } }); //在前台展示 message.show(target); } }

附属工具类MessageMW

import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.model.StringResourceModel; public class MessageMW extends WebPage { public MessageMW(StringResourceModel model) { super(); this.add(new Label("messageLabel", model)); } }
转载请注明原文地址: https://www.6miu.com/read-83310.html

最新回复(0)