我想在我的JSF页面中使用不间断空格。我知道,在纯HTML中,我可以使用
它,并且效果很好。但是,当我将它们
放在Facelets页面中时,它将出现以下错误:
错误解析/page.xhtml:错误追踪[行:42]已引用实体“ nbsp”,但未声明。
这是怎么引起的,我该如何解决?
我想在我的JSF页面中使用不间断空格。我知道,在纯HTML中,我可以使用
它,并且效果很好。但是,当我将它们
放在Facelets页面中时,它将出现以下错误:
错误解析/page.xhtml:错误追踪[行:42]已引用实体“ nbsp”,但未声明。
这是怎么引起的,我该如何解决?
Answers:
Facelets是一种基于XML的视图技术。XML只有五个预定义的实体。在
不在其中。它仅在纯HTML或旧版JSP中使用时才有效(注意:它在JSPX中不起作用,因为它也是基于XML的!)。
要解决此问题,您需要自己在包含
实体的XHTML文件的doctype中自己声明实体,
<!DOCTYPE html [
<!ENTITY nbsp " ">
]>
或者,最好改用(十六进制)十进制表示法:
  or  
在平均IDE它应该是微不足道的执行“查找,并在所有文件替换”和替换的每一个发生
的 
。
尝试使用&#160;
。有关实体的更多信息,您可以参考以下URL HTML ISO-8859-1参考
对我而言,以下doctype启用
:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
加
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
到文件顶部
确切地将idi放在哪里?