我的环境:
primefaces 3.5
JSF 2.2
我在对话框面板中有一个向导,显示我单击按钮的时间。 当我关闭对话框,然后再次打开对话框时,向导不会回到第一页。
我试过了:
<p:commandButton oncomplete="dialog.show()" update="dialogForm" ....... >
<f:setPropertyActionListener value="start" target="#{bean.wizard.step}" />
</p:commandButton>
我得到了一个java.lang.IllegalStateException:视图中组件«frm02:start»alredy'tect的ID。
任何想法如何避免?
答案 0 :(得分:0)
我将onHide
和onShow
属性添加到dialog
,以便wizard
始终在第一个标签上呈现(在我的示例中为personal
)
<p:dialog widgetVar="addUser" header="Add User" appendTo="@(body)" closeOnEscape="true" dynamic="true" modal="true" onHide="PF('addUserWizard').loadStep('personal', true)"
fitViewport="true" responsive="true" width="700px" height="400" resizable="false" onShow="PF('addUserWizard').loadStep('personal', true)">
<h:form>
<p:wizard showStepStatus="false" showNavBar="false" widgetVar="addUserWizard" binding="#{wizard}">
<p:tab id="personal" title="Personal">
...
</p:tab>
<p:tab id="confirm" title="Confirmation">
...
</p:tab>
</p:wizard>
</h:form>