如何插入&等特殊字符且<进入 JSF 组件?值属性?

发布于 2024-11-27 06:12:39 字数 545 浏览 3 评论 0 原文

如何将 &< 等特殊字符插入 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”的值不得包含 '< ;'性格。

How to insert special characters like & and < into JSF components value attribute ?

For example: I want something like this:

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

When I try this, I get the following exception:

javax.faces.view.facelets.FaceletException: Error Parsing /foo.xhtml: Error Traced[line: 15] The entity name must immediately follow the '&' in the entity reference.

And in case of <, I get the following exception:

javax.faces.view.facelets.FaceletException: Error Parsing /foo.xhtml: Error Traced[line: 15] The value of attribute "value" associated with an element type "h:outputText" must not contain the '<' character.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

伪装你 2024-12-04 06:12:40

您需要将它们转义为 XML 实体

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

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

wikipedia 中,您可以找到需要的预定义字符实体列表 每当您想按原样显示它们时,它们都会在 XML 中转义。它是以下字符实体:

"     "
&     &
'     '
<     <
>     >

另请参阅:

You need to escape them to XML entities.

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

This problem is not related to JSF per se, but to the view technology. You're apparently using Facelets (which is perfectly fine!). Facelets is however a XML based view technology, so you would need to ensure that the template is well formed XML and that all special characters which are to be represented as-is, are been escaped like above.

In the wikipedia you can find a list of predefinied character entities which needs to be escaped in the XML whenever you'd like to display them as-is. It are the following character entities:

"     "
&     &
'     '
<     <
>     >

See also:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文