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