【发布时间】:2014-01-10 12:58:22
【问题描述】:
我已经最小化了我的代码,以便更好地向您展示什么不起作用。
<h:body>
<f:view>
<h:form id="wbSelectForm">
<p:commandButton id="viewWorkbenchButton" icon="ui-icon-show"
title="View Workbench" update=":wbTestPanel"
actionListener="#{WorkbenchControllerBean.test}">
</p:commandButton>
</h:form>
<p:panel id="wbTestPanel">
Test: Active Wb: #{WorkbenchControllerBean.number}
</p:panel>
</f:view>
</h:body>
当我按下commandButton 时,我希望'wbTestPanel' 正在更新,但不知何故不会发生。我知道是因为 WorkbenchControllerBean.getNumber() 没有被调用。
我使用的是 primefaces 3.5。我已经尝试了“进程”属性的不同值以及将RequestContext.getCurrentInstance().update("wbTestPanel")in WorkbenchControllerBean.test()-方法。
我认为代码可能是正确的,但项目或运行时环境(Java 7 + JBoss 7.1.1)中有任何设置阻止 primefaces 更新另一个面板。你能告诉我要搜索什么吗?
提前致谢!
【问题讨论】:
-
你的
wbTestPanel在客户端获取的是哪个id?使用萤火虫检查它 -
对不起,我发现在 html-tag 中有一个
引发异常的事件,该异常未显示在日志中,但阻止了页面的呈现......因此它与“正常”更新问题无关。跨度>f:event> -
因为您是 stackoverflow 的新手,所以只是一些提示。尝试提供可能影响问题代码的所有内容,因为它也是重现错误所需的代码的最小版本。理想的做法是关注sscce model。
标签: jsf primefaces commandbutton