0
我有一个XHTML页面上2个对话框:所有对话框更新支持bean
<p:dialog width="400" id="dialog1" header="Download" widgetVar="dialog1">
<h:outputText value="Field1"/>
<h:inputText value="#{backingBean.field1}"/>
<br/>
<h:outputText value="Field2"/>
<h:inputText value="#{backingBean.field2}"/>
<br/>
<p:commandButton value="Download" ajax="false" onsuccess="PF('diaglog1').hide();">
<p:fileDownload value="#{backingBean.file}"/>
</p:commandButton>
</p:dialog>
<p:dialog width="400" id="dialog2" header="Send" widgetVar="dialog2">
<h:outputText value="Field1"/>
<p:inputText value="#{backingBean.field1}"/>
<br/>
<h:outputText value="Field2"/>
<h:inputText value="#{backingBean.field2}">
<p:ajax update="somePanel"/>
</h:inputText>
<br/>
<h:outputText value="Recipient"/>
<h:panelGroup id="somePanel">
<p:selectOneMenu style="width: 100%;" var="recipient">
<f:selectItems value="#{backingBean.someList}"/>
</p:selectOneMenu>
</h:panelGroup>
<br/>
<p:commandButton value="Send" actionListener="#{backingBean.sendSomething}" onsuccess="PF('dialog2').hide();">
<f:attribute name="item" value="#{recipient}"/>
</p:commandButton>
</p:dialog>
他们有不同的功能,但在同一页上,并使用相同的支持bean。一次只能出现一个对话框。问题是,当我在第一个对话框中输入一些值并按下“下载”时,它会将支持bean的field1和field2更新为我想要的值,但之后第二个对话框也会将其更新为其值,导致第一个下载错误的文件。如果我删除第二个对话框,则第一个对话框的行为将正确。
如何阻止第二个对话框更新值?
建议退后一步学习基本的HTML,然后再深入到JSF中。 – BalusC 2014-09-04 10:58:13
谢谢。会做。 – 2014-09-04 12:49:08