【发布时间】:2015-04-22 11:53:57
【问题描述】:
该页面有一个数据输入表单。单击命令按钮将数据输入到数据库中。
我需要定义一种通过bean的函数来控制数据的方法,如果这个数据已经在数据库中(例如:控制这个的bean的函数返回false),弹出一个对话框选择是否覆盖数据或取消操作(应始终通过 bean 方法执行覆盖)。
我该如何处理?我使用 JSF 和 Primefaces。
编辑:
我已尝试使用 RequestContext,但没有出现对话框。对话框是这样的:
<p:commandButton id="tasto" value="Insert"
action="#{bean.prova()}" update="BankGrid errorbank" ajax="false" />
<p:dialog id="dialog" header="Title" widgetVar="dlg" resizable="false">
<h:panelGrid>
<h:outputLabel value="Wanna do?" />
<p:commandButton id="button" value="YES"
action="#{bean.insertExist()}" ajax="false" />
<p:commandButton value="NO"
action="back.xhtml?faces-redirect=true" />"
</h:panelGrid>
</p:dialog>
都在一个form里面,函数是这样的:
public void prova(){
RequestContext context = RequestContext.getCurrentInstance();
context.execute("PF('dlg').show();");
}
怎么了?
【问题讨论】:
-
出了什么问题?:您没有使用 ajax 并希望在页面完全刷新后显示一个对话框。这仅在您使用 ajax 时有效(您可以看到 ij pf 展示,因为这样的示例在 ajax 示例组中是(afaik)。所以切换到使用 ajax 并且它可以工作
-
没有标志 ajax 它可以工作。谢谢
-
以后,请立即发布stackoverflow.com/help/mcve,特别是如果您的行为与默认设置不同。
标签: jsf primefaces dialog managed-bean