小编Bug*_*ast的帖子

PrimeFaces 7.0 Ajax更新警告

我收到此警告org.primefaces.PrimeFaces$Ajax.update PrimeFaces.current().ajax().update() called but component can't be resolved!Expression will just be added to the renderIds.有时在使用时PrimeFaces.current().ajax().update收到上述警告,搜索时我实现了此解决方案https://forum.primefaces.org/viewtopic.php?t=58678

public static UIComponent findComponentById(String componentId) {
    FacesContext context = FacesContext.getCurrentInstance();
    UIViewRoot root = context.getViewRoot();
    return root.findComponent(componentId);
}
Run Code Online (Sandbox Code Playgroud)

因此,为了避免收到警告,请执行以下操作:

        if (FacesUtils.findComponentById("pnlEstado") != null) {
            PrimeFaces.current().ajax().update("pnlEstado");
        }
Run Code Online (Sandbox Code Playgroud)

而且它的工作原理是,它不再发出警告,因为组件始终可以“找到”进行更新。

这里的问题是我的搭档说他不确定这是否是处理警告的最佳方法,因为他认为在生产过程中要花很多时间才能执行警告,他说这样会交给客户回到服务器,然后又返回给客户,这是如何工作的,他问,我真的不知道该怎么解释,但问题是我认为这是处理它的最佳方法,想了解您对此的看法。

我也尝试过绑定组件,并检查它是否已渲染,但是渲染它始终是真实的,因此它总是更新并引发警告。

因此,我删除了绑定并使用了这种方式。同样这只会发生是因为我有2个菜单,当打开1个菜单时没有显示另一个菜单,因此我认为这就是为什么有时会引发警告,但是我实施的解决方案可以解决这个问题,无论如何我都会接受您的意见。

这也是他说他希望我解决它的方式,我要尝试一下https://forum.primefaces.org/viewtopic.php?t=32040

但我认为与我要使用的那个更好

jsf primefaces

1
推荐指数
1
解决办法
67
查看次数

Primefaces InputText 可能的 ajax 事件是什么?

我可以在那里发生哪些可能的事件?谢谢你 :)

 <p:inputText>
    <p:ajax event="" />
 </p:inputText>
Run Code Online (Sandbox Code Playgroud)

尝试查看<p:ajax> 事件列表,但文档没有列出每个组件的可能事件:p

ajax jsf primefaces

0
推荐指数
1
解决办法
1475
查看次数

标签 统计

jsf ×2

primefaces ×2

ajax ×1