How to insert special characters like & and < into JSF components' value attribute?

You need to escape them to XML entities.

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

This problem is not related to JSF per se, but to the view technology. You’re apparently using Facelets (which is perfectly fine!). Facelets is however a XML based view technology, so you would need to ensure that the template is well formed XML and that all special characters which are to be represented as-is, are been escaped like above.

In the wikipedia you can find a list of predefinied character entities which needs to be escaped in the XML whenever you’d like to display them as-is. It are the following character entities:

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

See also:

Leave a Comment