我有一个接缝组件,我使用标准接缝注释放置消息:
@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。
答案 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注入。
注意:这个链接不是我的,但它对我有用。