我有一个打开对话框的菜单(primefaces 3.5)
<h:form>
<p:graphicImage id="img" value="../resources/img/user.jpg" style="cursor:pointer" title="My Profile" height="70px"/>
<p:overlayPanel id="imgPanel" for="img" showEffect="blind" hideEffect="fade" showEvent="mouseover" hideEvent="fade">
<h:outputLink id="editLink" value="javascript:void(0)" onclick="profiledlg.show()" title="login">Edit profile</h:outputLink><br />
<h:outputLink id="loginLink" value="javascript:void(0)" onclick="passwddlg.show()" title="login">Change password</h:outputLink><br />
<p:commandLink action="#{authBackingBean.logout}" value="Logout" />
</p:overlayPanel>
</h:form>
对话框如下所示:
<h:form id="profiledialogform">
<p:dialog id="profiledialog" header="Edit profile" widgetVar="profiledlg" resizable="false">
<h:panelGrid columns="2" cellpadding="5">
<h:outputLabel for="email" value="Email:" />
<p:inputText value="#{editProfileBean.newEmail}"
id="email" required="true" label="email" />
<f:facet name="footer">
<p:commandButton id="editProfileButton" value="Edit profile"
actionListener="#{editProfileBean.editProfile}" oncomplete="profiledlg.hide()" update=":profiledialogform" >
<p:resetInput target=":profiledialogform" />
</p:commandButton>
</f:facet>
</h:panelGrid>
</p:dialog>
</h:form>
我第一次使用它时,它按预期工作,但第二次(或更多)我输入不同的电子邮件并单击按钮对话框关闭但不调用该方法,只有当我进行手动页面刷新时(F5 )。
bean 是 @RequestScoped
我在 editProfile 方法的末尾将 newEmail 值设置为“”(空字符串)。
有什么困难吗?