ajax - p :ajax update of ID that doesn't exists

标签 ajax jsf primefaces

我正在使用 PrimeFaces 并且我有一行:

<p:ajax update="toUpdate">

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

我该如何解决?

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

谢谢!

最佳答案

您需要提供一个始终呈现的组件来更新,例如:

<p:ajax update="toUpdate">

<h:panelGroup id="toUpdate">

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

</h:panelGroup>

因此,如果您有一个组件可能是 o 或不可见,请不要使用它进行更新,因为它可能超出组件树。取而代之的是,使用您确定会呈现并出现在组件树中的组件(容器)。

关于ajax - p :ajax update of ID that doesn't exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46139219/

相关文章:

java - JSF 2.0 CDI + Spring 3.1 集成,FacesContext 在部署时为 null

java - 在 primefaces 中提要阅读器

javascript - 使用 $interval 使用 Angular 还是 promise 在 api 完成时运行代码?

javascript - AJAX 请求成功 3 次,然后失败

javascript - 无法解决Ajax、PHP、Json、Laravel(PHP框架)中的代码

Ajax 查询适用于数据类型 :'text' 失败,数据类型为 :'text/xml; charset=utf-8'

java - JSF 1.2生命周期理解: Executing the ValueChangeListener method in InvokeApplication phase

jsf - 如何在 PhaseListener 中 @Inject

java - 为什么命令按钮操作监听器不起作用?

java - Primefaces 错误页面