Java 根据条件单击按钮时显示确认弹出窗口
我有一个Java 根据条件单击按钮时显示确认弹出窗口,java,jsf,primefaces,Java,Jsf,Primefaces,我有一个p:commandButton,我需要在列表中添加一些值。在我的托管bean中,我正在验证必须添加的值,如果它验证为false,我必须显示一个确认弹出窗口。这是我的密码- <p:commandButton id="add" value="Add" type="submit" action="#{bean.doAdd}" ajax="false" update=":List"/> 我正在使用JSF2.0
p:commandButton
,我需要在列表中添加一些值。在我的托管bean中,我正在验证必须添加的值,如果它验证为false,我必须显示一个确认弹出窗口。这是我的密码-
<p:commandButton id="add" value="Add" type="submit" action="#{bean.doAdd}" ajax="false"
update=":List"/>
我正在使用JSF2.0和PrimeFaces3.0。有人能告诉我如何从bean中显示弹出窗口吗 您可以使用
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>
此代码可能会对您有所帮助
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}"/>
private boolean valid=true;
公共无效doAdd(){
有效=错误;
}
项目中是否包含primefaces?添加import org.primefaces.context.RequestContext代码>到你的bean…我确实包含primefaces,以前使用了错误的导入。更正了它并尝试了您的建议,但它引发了空指针异常。您的bean是托管bean吗?类似于:@ManagedBean@SessionScoped
尝试在响应中返回null,否则您的bean将被销毁,尝试查看它是否也与会话作用域一起工作……我将响应返回为空,并且尝试将其返回为null,不起作用。会话作用域也不起作用。。
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}"/>