使用Ajax Primefaces的选项卡下的命令链接

使用Ajax Primefaces的选项卡下的命令链接,ajax,jsf,primefaces,Ajax,Jsf,Primefaces,我知道这个问题可能类似于,但我根本不明白答案 我使用的是一个完整的页面布局,在左侧布局中,我有一些嵌套的手风琴面板、选项卡和命令链接。我希望此链接更新中心布局内容表单 左侧布局: <h:form> <p:accordionPanel> <p:tab title="Parent Tab"> <p:accordionPanel> <p:tab title="Chi

我知道这个问题可能类似于,但我根本不明白答案

我使用的是一个完整的页面布局,在左侧布局中,我有一些嵌套的手风琴面板、选项卡和命令链接。我希望此链接更新中心布局内容表单

左侧布局:

<h:form>
    <p:accordionPanel>
        <p:tab title="Parent Tab">
             <p:accordionPanel>
                 <p:tab title="Child Tab">
                     <p:commandLink value="link" update=":contentform" />
                 </p:tab>
             </p:accordionPanel>
        </p:tab>
    </p:accordionPanel>             
</h:form>
<h:form id="contentform">
    <ui:include src="#{layoutUI.viewId}" />
</h:form>

中心布局:

<h:form>
    <p:accordionPanel>
        <p:tab title="Parent Tab">
             <p:accordionPanel>
                 <p:tab title="Child Tab">
                     <p:commandLink value="link" update=":contentform" />
                 </p:tab>
             </p:accordionPanel>
        </p:tab>
    </p:accordionPanel>             
</h:form>
<h:form id="contentform">
    <ui:include src="#{layoutUI.viewId}" />
</h:form>


一个简单的解释将有助于解决类似的问题:(

正确使用
p:commandLink
组件的内置Ajax功能是指定链接将使用
Ajax
属性调用Ajax调用

<p:commandLink value="link" ajax="true" update=":contentform" />


使用前面的
表示您正在查看ViewRoot上组件的ID,而不是它的直接命名容器,因此这是正确的。唯一缺少的是
ajax
属性。

根本不支持
update
属性。这是一个粗心的键入吗问这个问题还是真正的代码?@BalusC是的,很抱歉这是一个打字错误。我的意思是
,我的问题很简单,我就是找不到一篇关于ajax内容更新的好文章。编辑你的问题。现在我看不到任何问题。前提是这些代码放在一个完全空白的模板中(即直接在
中,不带任何其他标签),它应该可以正常工作。你的问题到底是什么?它实际上不起作用吗?或者它起作用了吗?你不明白为什么需要在客户端ID前面加上
?@BalusC我编辑了我的问题,重新启动了IDE并杀死了我电脑中的所有java进程,再次运行了应用程序,现在一切都好了,我不知道发生了什么事?我需要的是一个了解属性更新值的详细信息。感谢您的努力,这是第二次帮助我:D中已经回答了这一部分
<p:commandLink value="link" ajax="true" update=":contentform" />