【发布时间】:2018-08-01 15:41:54
【问题描述】:
在 Java 中,在 String 中使用 UTF-8 字符就像指定 "\u2022" 一样简单。在 JSF 表达式语言中指定的 Afaik 字符串是 Java 字符串,例如#{'some string'}(其中'' 用于分隔字符串,因为"" 已用于分隔XHTML 属性值)。
如何在 JSF XHTML 中指定上述字符串 "\u2022",例如在h:outputLabel 的value 中?
<h:outputLabel value="#{'\u2022'}"/>
由于/index.xhtml @9,45 value="#{'\u2022'}" Error Parsing: #{'\u2022'}而失败。
<h:outputLabel value="\u2022"/>
导致u2022 在 XHTML 中生成。
信息的搜索很困难,因为网页上的编码非常重要,搜索结果以对它的解释为主。
在支持 bean 中引用 String 属性是一种有效的解决方法以及使用资源包。
【问题讨论】:
-
@Kukeltje 感谢您的意见。我尝试不成功(已编辑)。 balusc 博客的链接很有价值,但主要涉及编码问题,这不是这里的主要问题(更多的是语法问题),您在博客文章中有特定的段落吗?
-
也许我错过了你真正想要实现的目标(查看其他答案)。您对 ' 的评论有些令人困惑
-
@Kukeltje 在 Java 中,您可以将 UTF-8 字符指定为
String或char(分别以""和''分隔)。在 JSF 中,我不能声明char,因为''用于分隔字符串,因为""已用于分隔 XHTML 属性,因此在已用""分隔的属性内使用""会导致不必要的编译器挑战并使代码比必要的更难阅读。我只是想避免 cmets 和解释这一点的答案。我会删除它。 -
@Kukeltje 我想知道声明 UTF-8 字符的语法,例如2022,在 XHTML 中或解释为什么这是不可能的。