在我的应用程序中,faces消息不会在UI上呈现,也不确定究竟是什么导致了这个问题。在服务器日志中,我看到了:
警告:FacesMessage已入队,但可能尚未显示。
出现这种情况的原因是什么?
答案 0 :(得分:11)
确保您在页面中放置了<h:message for="...">
或<h:messages>
标记,另请参阅JSF 2 message and messages example
答案 1 :(得分:1)
未显示错误消息的另一个原因可能是,错误发生在JSF生命周期的RENDER_RESPONSE阶段。在这种情况下,可能会记录一条警告,其中显示“FacesMessage已经入队,但可能尚未显示”。
在这种情况下的原因是,在渲染响应阶段,遍历组件树并连续渲染每个组件。在消息组件完成呈现后发生错误时,无法向其添加另一条消息。
在这种情况下,可能的解决方案是将消息组件放在组件树的末尾。 另见this blog。