JSFページで改行しないスペースを使用したいのですが。私は知っている、プレーンHTML
でこれを使用でき、これは正常に動作します。しかし、それら
をFaceletsページに配置すると、次のエラーが発生します。
エラー解析/page.xhtml:エラー追跡[行:42]エンティティ "nbsp"が参照されましたが、宣言されていません。
これはどのように引き起こされ、どうすれば解決できますか?
回答:
Faceletsは、XMLベースのビュー技術です。XMLには5つの定義済みエンティティしかありません。その中に
はありません。プレーンHTMLまたはレガシーJSPで使用する場合にのみ機能します(注:JSPXではXMLベースなので、JSXでは機能しません)。
この問題を解決するには、いずれかの必要性は非常に含むXHTMLファイルのDOCTYPEに実体自分自身を宣言するために
実体を、
<!DOCTYPE html [
<!ENTITY nbsp " ">
]>
または、代わりに(hexa)decimal表記を使用します。
  or  
平均的なIDEでは、「すべてのファイルで検索して置換」を実行し、
byのすべての出現箇所を置換することは簡単 
です。
を使用してみてください&#160;
。エンティティの詳細については、次のURLを参照してくださいHTML HTML ISO-8859-1 Reference
私にとっては、次の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 ?