前端开发人员已经完成了HTML消息错误,因此我需要严格使用他的设计。
我是否需要编写一个继承了<h:message/>
的组件并实现渲染?或者,当我使用FacesMessage
机制在JSF上下文中添加错误时,还有其他简单的方法可以在其中自动显示一些html吗?
完美的解决方案是,当我在上下文中添加FacesMessage
时,将显示带有自定义HTML的<div>
。可能吗?
如何进行此类定制?怎么简单?
我不想OutputMessage
,因为我不会使用FacesMessage
机制。
答案 0 :(得分:2)
应在XHTML页面中添加HTML。无论如何,您可以使用FacesContext.getMessages(String)
来检查组件是否有某些消息(并根据该消息呈现适当的HTML)。
例如
<h:outputText value="Here is the message!:" rendered="#{myBean.messageForComponentX}"/>
<h:message for="componentX"/>
在你的豆子里
public isMessageForComponentX() {
return (FacesContext.getMessages("componentX") != null) && (FacesContext.getMessage("componentX") > 0);
}
您还可以查看<rich:notify>
和<p:growl>
组件(来自RichFaces和PrimeFaces),以便自定管理邮件。