p:不存在的ID的ajax更新

时间:2017-09-10 09:31:59

标签: ajax jsf primefaces

我使用PrimeFaces并且我有一条线:

<p:ajax update="toUpdate">

问题是,该ID并不总是存在于页面上。 (该页面是动态的,有时它包含具有此特定ID的部分,有时不包含)  当它存在时,效果很好,但是当ID不存在时,组件崩溃 - (可能是它的一些验证问题)

我该如何解决?

这是一个众所周知的问题吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您需要提供一个总是渲染的组件来进行更新,例如:

<p:ajax update="toUpdate">

<h:panelGroup id="toUpdate">

    <p:dataTable id="tableID" rendered="#{bean.someCondition>"...

</h:panelGroup>

因此,如果您有一个可以是o或不可见的组件,请不要将它用于更新,因为它可能超出组件树。相反,请使用您确定要呈现并存在于组件树中的组件(容器)。

答案 1 :(得分:0)

试试此代码

 <f:ajax render="toUpdate">

    <h:outputText id="toUpdate">

      <!--  do something -->

    </h:outputText>