getter 方法中添加的 Faces 消息未显示在消息组件中

Faces message added in getter method doesn't display in messages component

我想有条件地为 table 的单元格设置样式。这很容易并且有效。

style="#{zoekOndernemingController.geldigeOnderneming(row) ? '' : 'color: red'}"

但是,如您所见,条件是在后端。在函数 geldigeOnderneming(Object o) 中,我添加了一条面孔消息,但未显示该消息。是不是因为style等某些属性调用后台函数有限制?

不知道为什么不显示,也不知道怎么调试。我在互联网上找不到任何相关信息,因此非常感谢您的帮助!

PS faces message added like this:

public static void addFacesMessage(final FacesMessage fm) {
    final FacesContext ctx = JSFUtils.getFacesContextInstance();
    ctx.addMessage(null, fm);
}

它在其他地方完美运行...

您基本上是在尝试在呈现响应期间添加面孔消息。如果消息组件此时已经渲染了很长时间,那就太晚了。

<h:messages />
...
<h:someComponent someAttribute="#{bean.someMethodWhichAddsMessage()}" />

如果您交换组件,它将 "work"。