JSF 2.0自定义消息

arg*_*g20 6 java jsf message facelets jsf-2

我正在使用JSF 2.0.我正在使用

<h:messages>
Run Code Online (Sandbox Code Playgroud)

标记以呈现错误消息.我可以使用css来设置我的消息的样式,但是我创建了一个复合组件来呈现可以关闭的消息,并使用一些Jquery向它们添加效果.

我已经看过如何自定义消息的教程,但是大多数都依赖于CSS并自定义文本输出但我想要做的是生成特定的标记,类似于

<myComp:fancyMessage text="etcetcetc error msg" type="error" />
Run Code Online (Sandbox Code Playgroud)

而不是常规的消息标记.这可能吗?

编辑:

我不想设置jsf消息的样式.既不添加背景也不改变其风格,而是创建我自己的消息html标记.这里:

http://balusc.blogspot.com/2010/07/using-html-in-jsf-messages.html

我已经找到了如何在你的消息中添加html.我想要的是封装我的复合组件中的所有html,然后以这种方式使用我的复合组件:

<mycomp:messages/>
Run Code Online (Sandbox Code Playgroud)

要么

<mycomp:message for="componentID" />
Run Code Online (Sandbox Code Playgroud)

消息和消息都创建自己的html标记

Bal*_*usC 12

FacesContext#getMessageList()在里面使用ui:repeat.每个项目FacesMessage都有几个吸气剂.

<ui:repeat value="#{facesContext.messageList}" var="facesMessage">
    Severity: #{facesMessage.severity}<br />
    Summary: #{facesMessage.summary}<br />
    Detail: #{facesMessage.detail}<br />
    <br />
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)

这允许在消息周围进行更细粒度的HTML标记.


它还使您能够在帮助下将它们打印为HTML <h:outputText escape="false">.我可能需要迟早扩展和修改我的博客文章:)