template ejemplo bootstrap jsf xhtml facelets

jsf - ejemplo - ui:composition primefaces



¿Cómo insertar caracteres especiales como & y<en el atributo de valor de los componentes JSF? (1)

¿Cómo insertar caracteres especiales como & y < en el atributo de value componentes JSF?

Por ejemplo: quiero algo como esto:

<h:outputText value="Tom & Jerry Show" />

Cuando intento esto, obtengo la siguiente excepción:

javax.faces.view.facelets.FaceletException: Error Parsing /foo.xhtml: error rastreado [línea: 15] El nombre de la entidad debe seguir inmediatamente el ''&'' en la referencia de la entidad.

Y en el caso de < , obtengo la siguiente excepción:

javax.faces.view.facelets.FaceletException: Error Parsing /foo.xhtml: error rastreado [línea: 15] El valor del atributo "value" asociado con un elemento tipo "h: outputText" no debe contener el carácter ''<''.


Debe escapar de ellos a entidades XML .

<h:outputText value="Tom &amp; Jerry Show" />

Este problema no está relacionado con JSF per se, sino con la tecnología de visualización. Aparentemente estás usando Facelets (¡lo cual está perfectamente bien!). Facelets es, sin embargo, una tecnología de visualización basada en XML, por lo que deberá asegurarse de que la plantilla esté bien formada en XML y de que todos los caracteres especiales que se representarán tal cual, se hayan escapado como se indicó anteriormente.

En la wikipedia puede encontrar una lista de entidades de caracteres predefinidas que debe escaparse en el XML siempre que desee mostrarlas tal como están. Son las siguientes entidades de personaje:

" &quot; & &amp; '' &apos; < &lt; > &gt;

Ver también: