jsf – h:尽管escape =“false”,outputText也没有从XML响应中呈现HTML

我有以下代码:
<h:outputText value="#{bean.shortDescription}" escape="false" />

结果是:

<p><b>Location. </b> <br /> a

来自#{bean.shortDescription}的字符串来自转义的XML响应:

&lt;p&gt;&lt;b&gt;Location. &lt;/b&gt; &lt;br /&gt; a

如果我使用与上面相同的输出文本,但是我没有从XML中获取响应,而是将响应中的转义字符串放入,例如:

<h:outputText value="&lt;p&gt;&lt;b&gt;Location. &lt;/b&gt; &lt;br /&gt; a" escape="false" />

然后结果是:

Location.
a

如何正确呈现从XML中获取的HTML标记?我不想逃避他们.

这是因为你的文字已被转义. escape =“false”不会取消文本.它只是按原样打印文本而不是转义它.但是,由于您的文字已从头开始转义,因此它以转义形式显示.删除escape =“false”,你会看到它将被双重转义.即每一个&成为& amp;

你需要事先解开它. Apache Commons Lang StringEscapeUtils可能会派上用场.

String unescapedShortDescription = StringEscapeUtils.unescapeXml(shortDescription);

然后,您可以使用< h:outputText escape =“false”>按原样打印.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇