如何使用Seam 2 StatusMessages显示粗体消息?

时间:2011-02-05 13:21:51

标签: seam messages seam2

我有一个接缝组件,我使用标准接缝注释放置消息:

@In
private StatusMessages statusMessages;

public void myMethod()
{
  statusMessages.add("Welcome, #{user.getName()}, after confirmation you will be able to log in.");
}

并且在xthml页面中显示此消息:

<h:messages id="mensagensHome" globalOnly="true" styleClass="message"
            errorClass="errormsg" infoClass="infomsg" warnClass="warnmsg"
            rendered="#{showGlobalMessages != 'false'}" />

这是完美的,但我有一个要求,名称应该是粗体。比我已经尝试在我的消息中放置标准的html标签,如:

 statusMessages.add("Welcome, <b> #{user.getName()} </b>, after confirmation you will be able to log in.");

但是它显示页面上的标签并且不会将名称变为粗体。

我也尝试使用unicode转义字符来呈现html标签,但再次没有成功。

是否可以使用代码中的标准html标签,以期在Seam中格式化消息?

提前Tx。

1 个答案:

答案 0 :(得分:2)

实际上你不能,不像h:outputText h:message没有escape属性,你可以做escape =“false”。

在下面的链接中,您可以找到有关如何扩展h:消息的示例,实际上它并不完全是h:扩展但最终结果相同的消息。所以你可以在h:messages中设置escape =“false”并让浏览器解析html标签。

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

如果您显示用户插入的内容,请小心,因为这很容易被html注入。

注意:这个链接不是我的,但它对我有用。