【发布时间】:2011-11-18 14:35:00
【问题描述】:
<p:dataTable id="id" value="#{bean.soemList}" var="account">
<p:commandLink value="#{account.id}" action="#{bean.methodCall}"
update="dialogID" oncomplete="dlg1.show();">
</p:commandLink>
...
<p:dialog header="#{i18n.details}" widgetVar="dlg1" modal="true" height="200" width="600">
<h:panelGroup id="dialogID" layout="block">
<h:outputLabel value="#{bean.var1}"></h:outputLabel>
</h:panelGroup>
</p:dialog>
当链接在p:dataTable 之外时p:dialog 会更新,但是当链接放在p:dataTable 中时,p:dialog 不会显示更新的值。我需要将链接保留在p:dataTable 中。要更新的组件不在dataTable 中。
【问题讨论】:
-
你能发布你的 bean.methodCall 代码吗?我有同样的问题
-
@SfsLearner :在 bean 方法中,我只是在更改变量的值。更改后的值应该显示在 p:dialog 内的 h:outputLabel 中,但问题是它仍然显示旧值而不是新值。但是它改变了bean方法中变量的值,但新值没有反映在页面上。公共字符串 methodCall(){ this.var1=true; } 在这种情况下,方法调用后页面仍然显示'false'
标签: jsf-2 primefaces