我需要输出存储在数据库中的html文本。该文本由丰富的编辑器生成,因此包含格式不正确的html(非封闭标签,如<br>
)。所以我有问题如何打印在页面上。JSF不输出非严格的html
如果我使用:
#{document.content}
它输出转义的HTML文档,所有标签都显示在页面上(代码本身含有“& LT;”代替<)
可见解决方案 - 使用H:用的outputText逃逸=“FALSE:
<h:outputText value="#{document.content}" escape="false" />
但它打印的HTML只有等到它是良好的XML形成:文本被停止在第一个<br>
标签上。看来,JSF解析document.content的内容,并在无法执行时停止。我真的不需要JSF来解析内容,只需输出!
下面的代码都于事无补:
<h:outputText value="lt![CDATA[#{document.content}]]gt" escape="false" />