【发布时间】:2013-04-09 16:14:00
【问题描述】:
我尝试了很多方法,但都不起作用,我在对话框中有一个向导,当我提交表单并重新打开对话框时,我在最后的数据中找到了它,这是我的代码:
<p:wizard id="wizForNewIssue" widgetVar="wizNewIsssue"
flowListener="#{managedBeanProjects.onFlowProcess}"
style="width:100%;">
<p:tab id="personal" title="Details">
<p:panel style="width:800px;height:200px">
<h:messages errorClass="error" />
<h:panelGrid id="new0" columns="3">
...........
</h:panelGrid>
<f:facet name="footer">
<h:outputText value="Skip to last: " />
<h:selectBooleanCheckbox value="#{managedBeanProjects.skip}" />
</f:facet>
</p:panel>
</p:tab>
<p:tab id="version" title="Version Details">
<p:panel style="width:800px;height:200px">
............
</p:panel>
</p:tab>
<p:tab id="goConfirm" title="Confirmation">
<p:panel style="width:800px;height:200px">
<h:panelGrid id="final" columns="4">
.............
</h:panelGrid>
<f:facet name="footer">
<p:commandButton value="Submit"
update=":form1:growl :form1:dialogNewIssue "
actionListener="#{managedBeanProjects.newIssue}"
oncomplete="newDialog.hide()" />
</f:facet>
</p:panel>
</p:tab>
</p:wizard>
</p:dialog>
【问题讨论】:
-
显示您打开对话框的方式。关键是您应该在打开对话框之前对对话框进行 ajax 更新,以便它反映在当前模型状态中(您当然应该自己事先清除)。
-
对 BalusC :当我打开对话框时,我只调用 .show() 并且我使用对话框 id 进行了所有更新,我尝试使用 id 向导,但这不是解决方案。致 RongNk:我希望所有输入在提交按钮后都是干净的,并且还希望重定向到向导的第一个 TAB
-
"所有输入在提交后都是干净的": 你更新 bean 中的值。
-
"重定向到向导的第一个 TAB":您可以设置活动选项卡,索引从 bean 获取
标签: jsf primefaces