Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 如何在JSF中使用EL中的HTML字符实体?_Jsf 2_Facelets - Fatal编程技术网

Jsf 2 如何在JSF中使用EL中的HTML字符实体?

Jsf 2 如何在JSF中使用EL中的HTML字符实体?,jsf-2,facelets,Jsf 2,Facelets,我想为h:link组件使用in-a-value属性 以下是我的尝试(目前不起作用): 我知道我可以使用HTML锚,但是有没有办法在(EL)表达式中实现呢?正确的方法是什么?Facelets是基于XML的,由XML解析器处理。&mdash是一个HTML实体,在XML中无法识别。在XML中,只有列在“”、&;、'、和中的五个代码可以识别 默认情况下,Facelets/XML已经使用UTF-8,HTML实体基本上是UTF-8之前时代的遗留物,在UTF-8文档中不需要,因此您可以将实际字

我想为
h:link
组件使用in-a-value属性

以下是我的尝试(目前不起作用):


我知道我可以使用HTML锚,但是有没有办法在(EL)表达式中实现呢?正确的方法是什么?

Facelets是基于XML的,由XML解析器处理。
&mdash
是一个HTML实体,在XML中无法识别。在XML中,只有列在“
&;
'
中的五个代码可以识别

默认情况下,Facelets/XML已经使用UTF-8,HTML实体基本上是UTF-8之前时代的遗留物,在UTF-8文档中不需要,因此您可以将实际字符纯/未编码放在模板中(前提是编辑器能够将文件另存为UTF-8)

换句话说,简单地调整一下

<h:link value="#{somethingHere} &mdash; #{anotherHere}">
另一种更能满足确切错误消息的方法是在doctype中自己显式声明实体引用

<!DOCTYPE html [
    <!ENTITY mdash "&#8212;"> 
]>


但这不是一般的建议/方法,因为您需要在使用该字符的每个XML文件上重复此操作。

您能否详细说明为什么不建议在doctype中使用实体声明?它将明确需要使用该字符放置在每个XML模板中,您不能仅将其放置在mas中ter模板之类的。我个人会把
-
字符普通/未编码放在模板中。如果对你来说失败(Mojibake等),可能您需要重新配置编辑器以将文件另存为UTF-8。Facelets在默认情况下已经使用UTF-8来解析/服务XML文件。理解,再次感谢!我将使用数字引用,以防止其他开发人员使用Mojibake。
<h:link value="#{somethingHere} &mdash; #{anotherHere}">
<h:link value="#{somethingHere} — #{anotherHere}">
<h:link value="#{somethingHere} &#8212; #{anotherHere}">
<!DOCTYPE html [
    <!ENTITY mdash "&#8212;"> 
]>