3

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

如何"\u2022"在 JSF XHTML 中指定上述字符串,例如在valuea 中h:outputLabel

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

由于/index.xhtml @9,45 value="#{'\u2022'}" Error Parsing: #{'\u2022'}.

<h:outputLabel value="\u2022"/>

导致u2022在 XHTML 中生成。

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

引用String支持 bean 中的属性是一种有效的解决方法以及使用资源包。

4

2 回答 2

3

通常的 JSF 值属性是指一个支持 bean 对象,它通常提供一个String. 这个字符串支持像这样的 HTML UTF-8 转义&#xAAAA;,其中AAAAunicode 字符的十六进制代码。

所以,简单地写这个:

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

您也可以在表达式语言文字中编写此转义序列:

<h:outputLabel value="#{'&#x2022;'}" />
于 2018-08-07T17:46:33.610 回答
-1

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=\u2022User\u2022

请参阅 BalusC 答案:JSF 中的国际化,何时使用消息包和资源包?

于 2018-08-02T18:21:08.673 回答