template mkyong define jsf jsf-2 facelets html-entities

jsf - mkyong - Error Parsing/page.xhtml: Error Traced[line: 42] Se hizo referencia a la entidad "nbsp", pero no se declaró



ui insert (5)

  1. <![CDATA[&nbsp;]]> debería funcionar bien. Sin embargo, esto no funciona dentro del valor del atributo.

  2. Alternativamente, siempre que &amp; es una entidad predefinida en XML, puedes probar &amp;nbsp; - funcionó para mí con JSP basado en XML. Esto debería funcionar también dentro de los atributos.

Me gustaría utilizar espacios sin interrupciones en mi página JSF. Lo sé, en HTML simple podría usar &nbsp; para esto y esto funciona bien. Sin embargo, cuando puse esos &nbsp; en una página Facelets, a continuación, los errores de la siguiente manera:

Error Parsing /page.xhtml: Error Traced [line: 42] Se hizo referencia a la entidad "nbsp", pero no se declaró.

¿Cómo es esto causado y cómo puedo resolverlo?


Facelets es una tecnología de visualización basada en XML. XML tiene solo cinco entidades predefinidas . El &nbsp; no está entre ellos. Funciona solo cuando se usa en HTML simple o en JSP heredado (nota: ¡no funciona en JSPX ya que también está basado en XML!).

Para solucionar esto, debe declarar la entidad usted mismo en el doctype,

<!DOCTYPE html [ <!ENTITY nbsp "&#160;"> ]>

o para usar la notación decimal (hexa) en su lugar:

&#xA0; or &#160;


Intenta usar &amp;#160; . para obtener más información sobre las entidades a las que puede remitir después de url HTML Referencia ISO-8859-1


Para mí, el siguiente doctype habilita &nbsp; :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


añadir

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

al principio del archivo