如何在JSF XHTML中指定UTF-8字符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在JSF XHTML中指定UTF-8字符?相关的知识,希望对你有一定的参考价值。

在Java中使用String中的UTF-8字符就像指定"u2022"一样简单。在JSF表达式语言中指定的Afaik字符串是Java字符串,例如#{'some string'}(其中''用于分隔字符串,因为""已用于分隔Xhtml属性值)。

如何在JSF XHTML中指定上面的字符串"u2022",例如在valueh:outputLabel

<h:outputLabel value="#{'u2022'}"/>

/index.xhtml @9,45 value="#{'u2022'}" Error Parsing: #{'u2022'}而失败。

<h:outputLabel value="u2022"/>

导致u2022在XHTML中生成。

搜索信息很困难,因为网页上的编码非常重要,搜索结果主要是对它的解释。

在辅助bean中引用String属性是一种有效的解决方法,也是使用资源包。

答案

通常的JSF值属性是指通常提供String的支持bean对象。此字符串支持HTML UTF-8转义,如&#xAAAA;,其中AAAA是unicode字符的十六进制代码。

所以,只需写下:

<h:outputLabel value="&#x2022;" />

您也可以在Expression Language文本中编写此转义序列:

<h:outputLabel value="#{'&#x2022;'}" />
另一答案

XHTML是一种XML标记语言,因此接受转义为xml实体:

<h:outputText value="&quot;User&quot;" />

将打印

"User"

参考:https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML

您还可以使用资源包,它将为您提供多语言支持和unicode编码。然后你可以使用:

<h:outputText  value="#{msg.user}"/>

并在messages.properties文件中:

user=u2022Useru2022

见BalusC回答:Internationalization in JSF, when to use message-bundle and resource-bundle?

以上是关于如何在JSF XHTML中指定UTF-8字符?的主要内容,如果未能解决你的问题,请参考以下文章

JSF/Primefaces 如何将另一个域中的 .xhtml 包含到您的 .xhtml 中

如何在 NpgSql 连接字符串中指定 ApplicationName

如何在自定义数字格式字符串中指定缩小 100?

如何在 Weka 文件中指定字符串?

没有 bean 属性的 JSF 组件绑定

如何在 Cloudformation 中指定 JSON 格式的字符串?