Fah*_*kar 82 jsf facelets html-entities jsf-2
我想在我的JSF页面中使用非中断空格.我知道,在纯HTML中,我可以使用 这个,这很好.但是,当我将它们 放在Facelets页面中时,它会出现如下错误:
错误解析/page.xhtml:错误跟踪[第42行]引用了实体"nbsp",但未声明.
这是怎么造成的,我该如何解决?
Bal*_*usC 174
Facelets是一种基于XML的视图技术.XML只有五个预定义的实体.在 不在其中.它仅在纯HTML或遗留JSP中使用时才起作用(注意:它在JSPX中不起作用,因为它也基于XML!).
要解决这个问题,您需要在包含 实体的XHTML文件的doctype中自己声明实体,
<!DOCTYPE html [
<!ENTITY nbsp " ">
]>
Run Code Online (Sandbox Code Playgroud)
或者,更好的是,使用(hexa)十进制表示法:
  or  
Run Code Online (Sandbox Code Playgroud)
在一般的IDE中,执行"在所有文件中查找和替换"并替换每次出现时应该是微不足道 的 .
Pet*_*olf 10
<![CDATA[ ]]>应该工作正常.但是,这在属性值内部不起作用.
或者,只要&是XML中的预定义实体,您就可以尝试&nbsp; - 使用基于XML的JSP为我工作.这应该也适用于属性.
对我来说,以下doctype可以 :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Run Code Online (Sandbox Code Playgroud)
小智 5
加
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)
到文件的顶部
| 归档时间: |
|
| 查看次数: |
61916 次 |
| 最近记录: |