我点击了p:commandButton
,我需要在列表中添加一些值。在我的托管bean中,我正在验证必须添加的值,如果验证为false,我必须显示一个确认弹出窗口。这是我的代码 -
<p:commandButton id="add" value="Add" type="submit" action="#{bean.doAdd}" ajax="false"
update=":List"/>
在bean中,点击“添加”按钮,
public String doAdd() throws Exception {
if(response != null) {
if(keyList.contains(response)) {
if(!responseList.contains(response)) {
responseList.add(response);
}
} else {
//Have to display confirmation popup.
}
response = "";
}
return response;
}
我正在使用jsf 2.0和primefaces 3.0。有人可以告诉我如何显示bean的弹出窗口吗?
答案 0 :(得分:2)
您可以使用RequestContext
在托管bean中运行js代码
确保它是一个ajax调用 - 没有ajax="false"
RequestContext context = RequestContext.getCurrentInstance();
context.execute("YourDialogwidgetVar.show()");
我假设您定义了一些对话框......
<p:confirmDialog id="confirmDialog" message="Hello"
header="Header" widgetVar="YourDialogwidgetVar">
</p:confirmDialog>
答案 1 :(得分:0)
此代码可能对您有所帮助。
private boolean valid = true;
public void doAdd() {
valid = false;
}
<p:dialog id="basicDialog" header="Basic Dialog" visible="#{!testBean.valid}">
<h:outputText value="Message!" />
</p:dialog>
<h:commandButton id="modalDialogButton" value="Modal" action="#{testBean.doAdd}"/>