gek*_*ish 16 html jsf message escaping
默认情况下,每个JSF FacesMessage都显示在一行中.我想<br />在消息本身添加一个HTML换行符,以便整齐地显示消息.我尝试过如下
message = new FacesMessage("test<br/>test");
但是,它被JSF转义并显示为文字文本.如何在FacesMessage没有转义的情况下将HTML代码添加到a ?
Bal*_*usC 28
理论上,您需要像has 一样的组件escape属性.你不是唯一一个想要这个的人,这是经常要求的,但是根据JSF人的说法,这是一个WONTFIX.h:messagesh:outputText
你有几个选择:
使用\n而不是相应地<br>应用CSS(最简单).
#messages td { white-space: pre; }
创建一个扩展的自定义渲染器MessageRenderer(更难,但如果你想覆盖更多的HTML而不仅仅是换行符,那就太好了).
List在bean 中的一些消息中自己收集消息并使用<t:dataList>,或者当您已经使用Facelets而不是JSP时显示消息<ui:repeat>.这样您就可以<h:outputText escape="false">用来显示各个消息.
或者,当您已经使用JSF 2.0时,只需重复FacesContext#getMessageList()自己.每个项目都给你一个FacesMessage背部,反过来提供了几个吸气剂.然后,您可以在a中显示摘要<h:outputText escape"false" />.
<ul>
    <ui:repeat value="#{facesContext.messageList}" var="facesMessage">
        <li>
            <h:outputText value="#{facesMessage.summary}" escape="false" />
        </li>
    </ui:repeat>
</ul>
或者,当您使用JSF实用程序库OmniFaces时,请使用其支持属性的<o:messages>组件escape.
<o:messages escape="false" />
| 归档时间: | 
 | 
| 查看次数: | 18039 次 | 
| 最近记录: |