在Java中使用String
中的UTF-8字符就像指定"\u2022"
一样简单。在JSF表达式语言中指定的Afaik字符串是Java字符串,例如#{'some string'}
(其中''
用于分隔字符串,因为""
已用于分隔XHTML属性值)。
如何在JSF XHTML中指定上面的字符串"\u2022"
,例如在value
的h: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转义,如ꪪ
,其中AAAA
是unicode字符的十六进制代码。
所以,只需写下:
<h:outputLabel value="•" />
您也可以在Expression Language文本中编写此转义序列:
<h:outputLabel value="#{'•'}" />
XHTML是一种XML标记语言,因此接受转义为xml实体:
<h:outputText value=""User"" />
将打印
"User"
您还可以使用资源包,它将为您提供多语言支持和unicode编码。然后你可以使用:
<h:outputText value="#{msg.user}"/>
并在messages.properties文件中:
user=\u2022User\u2022
见BalusC回答:Internationalization in JSF, when to use message-bundle and resource-bundle?