Jsf primefaces命令按钮更新不起作用

Jsf primefaces命令按钮更新不起作用,jsf,primefaces,commandbutton,Jsf,Primefaces,Commandbutton,我已经最小化了我的代码,以便更好地向您展示什么不起作用 <h:body> <f:view> <h:form id="wbSelectForm"> <p:commandButton id="viewWorkbenchButton" icon="ui-icon-show" title="View Workbench" update=":wbTestPanel" actionListene

我已经最小化了我的代码,以便更好地向您展示什么不起作用

<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>

测试:活动Wb:#{WorkbenchControllerBean.number}
当我按下commandButton时,我希望“wbTestPanel”正在被更新,但不知何故,这并没有发生。我知道这一点,因为WorkbenchControllerBean.getNumber()没有被调用

我使用的是PrimeFaces3.5。我已经尝试了“process”属性的不同值,并将
RequestContext.getCurrentInstance().update(“wbTestPanel”)
放在WorkbenchController bean.test()方法中

我认为代码可能是对的,但在项目或运行时环境(Java7+JBoss7.1.1)中有任何设置都会阻止primefaces更新另一个面板。你能告诉我要找什么吗

提前谢谢

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

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

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

id
之前使用


记住


  • 如果你做一个对话

  • 对话框之前,应关闭旧的表单标记

  • 然后拨号内容应该放在另一种形式

  • 使用
    update=“:dialougeid,:dialougeFormId”


  • 您的
    wbTestPanel
    在客户端获取哪个id?使用FireBug抱歉,伙计们,我发现在html标记中有一个事件引发了一个异常,该异常没有显示在日志中,但阻止了页面的呈现。。。所以这和“正常”的更新问题无关。因为你是stackoverflow的新手,所以只需要一些提示。尽量提供可能影响问题代码的所有内容,因为它也是再现错误所需的代码的最低版本。理想的做法是遵循。1、2、3问题中没有对话。4、为什么?