如何将 & 和 < 等特殊字符插入 JSF 组件的 value 属性中?

2024-03-31

如何插入特殊字符如& and <进入 JSF 组件value属性 ?

例如:我想要这样的东西:

<h:outputText value="Tom & Jerry Show" />

当我尝试这样做时,出现以下异常:

javax.faces.view.facelets.FaceletException:解析错误 /foo.xhtml:错误跟踪[行:15] 实体名称必须紧跟在实体引用中的“&”之后。

如果是<,我得到以下异常:

javax.faces.view.facelets.FaceletException:错误解析 /foo.xhtml:错误跟踪[行:15] 与元素类型“h:outputText”关联的属性“value”的值不得包含“


你需要逃离他们XML 实体 http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references.

<h:outputText value="Tom &amp; Jerry Show" />

这个问题与 JSF 本身无关,而是与视图技术有关。显然您正在使用 Facelets(这非常好!)。然而 Facelets 是一种基于 XML 的视图技术,因此您需要确保模板是格式良好的 XML,并且所有要按原样表示的特殊字符都像上面一样被转义。

In the 维基百科 http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML您可以找到预定义字符实体的列表,其中needs每当您想按原样显示它们时,都会在 XML 中对其进行转义。它是以下字符实体:

"     &quot;
&     &amp;
'     &apos;
<     &lt;
>     &gt;

也可以看看:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 & 和 < 等特殊字符插入 JSF 组件的 value 属性中? 的相关文章