【问题标题】:JSF doesn't output the non-strict htmlJSF 不输出非严格的 html
【发布时间】:2011-07-29 00:26:16
【问题描述】:

我需要输出存储在数据库中的 html 文本。文本由富编辑器生成,因此包含格式错误的 html(非封闭标签,如 <br>)。所以我有问题如何在页面上打印它。

如果我使用:

#{document.content}

它打印转义的html文档,页面上显示所有标签(代码本身包含“<”而不是

可见的解决方案 - 将 h:outputText 与 escape="false:

一起使用
<h:outputText value="#{document.content}" escape="false" /> 

但它只在 html 格式良好之前打印 html:文本在第一个 &lt;br&gt; 标记处停止。似乎,JSF 解析了 document.content 的内容并在无法解析时停止。我真的不需要JSF来解析内容,直接输出即可!

以下代码也没有帮助:

<h:outputText value="lt![CDATA[#{document.content}]]gt" escape="false" />

【问题讨论】:

    标签: jsf escaping


    【解决方案1】:

    好的,这似乎是 Chrome 错误。在我将 DOCTYPE 更改为 html transitive 后,它显示“Entity ‘nbsp’ not defined”错误并且没有呈现内容。但在其他浏览器中,一切正常!即使在我将 DOCTYPE 回滚到 xhtml strict 之后 - Firefox 和 Opera 也能完美地显示内容,并且不太注意格式错误的 html!

    没有深入研究,但这与 Webkit - Chrome 的引擎有某种联系。

    更新:使用 以便在 Chrome 和 Safari 中正常工作。

    希望这对其他人有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-27
      • 2011-12-21
      • 2012-11-12
      • 2014-01-02
      • 2013-11-22
      • 2015-11-12
      • 2011-03-09
      相关资源
      最近更新 更多