我可以在错误消息控件中显示HTML吗?

时间:2018-06-08 10:05:57

标签: xpages

在我的XPages应用程序中,我们使用Bootstrap作为主题。

如果我查看警报组件:

<div class="alert alert-danger" role="alert"> <strong>WARNING</strong> SYSTEM FAILURE. </div>

我看到使用了一个元素。

现在在我的XPages应用程序中,我使用了以下内容:

FacesContext.getCurrentInstance().addMessage(null, new javax.faces.application.FacesMessage(javax.faces.application.FacesMessage.SEVERITY_ERROR, "<strong>WARNING</strong> SYSTEM FAILURE", ""));

但是显示为文字:

enter image description here

是否以某种方式使错误消息控件显示HTML?

2 个答案:

答案 0 :(得分:0)

更好的方法是使用CSS格式化错误消息控制输出。

答案 1 :(得分:0)

您可以像这样编写自己的消息控件:

<xp:panel styleClass="xspMessage"
    rendered="#{javascript:facesContext.getMessages().hasNext()}">
    <xp:repeat id="repeat1" rows="30" var="msg">
        <xp:this.value><![CDATA[#{javascript:var v = new java.util.Vector();
var itr = facesContext.getMessages()     
while(itr.hasNext()) {
    var element:javax.faces.application.FacesMessage = itr.next();
    v.add(element.getSummary())
}
return v;}]]></xp:this.value>
        <xp:text escape="false" id="computedField1" value="#{msg}"  tagName="div">
        </xp:text>
    </xp:repeat>
</xp:panel>