primefaces commandbutton update不起作用

时间:2014-01-10 12:58:23

标签: jsf primefaces commandbutton

我已将代码最小化,以便更好地向您展示不起作用的内容。

<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。我已经尝试了'process'-attribute的差异值以及将RequestContext.getCurrentInstance().update("wbTestPanel")放在WorkbenchControllerBean.test() - 方法中。

我认为可能代码是正确的,但是项目或运行时环境(Java 7 + JBoss 7.1.1)中的任何设置都会阻止primefaces更新其他面板。你能不能给我一个提示要搜索的内容?

提前致谢!

2 个答案:

答案 0 :(得分:0)

您确定调用了test()方法吗? 如果是,您可以尝试使用以下更新表达式吗?

update="@([id$=wbTestPanel])"

否则,可能会因为验证错误而未调用test()方法。如果是这种情况,您可以使用debug或firebug进行检查。

答案 1 :(得分:-1)

:

之前使用id

记住

  1. 如果您进行对话。

  2. 应关闭Dialog旧表单标记之前。

  3. 然后,拨号内容应放入另一种形式。

  4. 使用update=":dialougeid, :dialougeFormId"