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