【发布时间】:2015-09-24 12:38:37
【问题描述】:
我想在 ajax 操作后更新两个组件,但不知道该怎么做(如果可能的话)。 我有三页:
<h:form id="loginForm">
<p:panelGrid columns="2" >
<h:outputText value="Login: "/>
<p:inputText value="#{bean.person.username}" requiredMessage="*" />
<h:outputText value="Hasło: "/>
<p:password value="#{bean.person.password}" requiredMessage="*"/>
<p:commandButton value="Login" action="#{bean.validatePerson}" update="loginConfirmationPage"/>
</p:panelGrid>
</h:form>
菜单页面与上面类似,菜单项具有渲染属性(fe。当用户登录时显示注销按钮)和我想在其上显示用户名的 loginConfirmationPage。
我需要更新这两个 pm:pages 以在菜单页面上获取注销按钮,并在确认页面上显示用户名。 我怎样才能做到这一点?现在我只能更新一页。我尝试输入类似于以下的语句:
<p:commandButton value="Login" action="#{bean.validatePerson}" update="loginConfirmationPage,menuPage"/>
或
<p:commandButton value="Login" action="#{bean.validatePerson}" update="loginConfirmationPage;menuPage"/>
两者都不起作用。我该怎么做?
【问题讨论】:
-
在浏览器 Firefox/Chrome 中按 F12,选择 HTML/Elements 选项卡,按箭头/放大镜图标并选择/搜索与要更新的元素对应的 id 属性。其中之一可能包含冒号字符,因为它放置在与按钮不同的名称容器中。然后在id开头加一个冒号,放在按钮更新属性中(即:
:nameContainer:menuPage)。注意:使用空格代替逗号或分号来分隔更新区域。
标签: ajax jsf primefaces