88
votes

How do I insert a non breaking space character in JSF page like I can in HTML using  ? Is there such a tag in JSF?

10
Related (and technically a duplicate with a way much better explanation): Error Parsing /page.xhtml: Error Traced(line: 42) The entity “nbsp” was referenced, but not declaredBalusC

10 Answers

180
votes

this will work

<h:outputText value="&#160;" />
51
votes

Putting the HTML number directly did the trick for me:

&#160;
19
votes

If your using the RichFaces library you can also use the tag rich:spacer which will add an "invisible" image with a given length and height. Usually much easier and prettier than to add tons of nbsp;.

Where you want your space to show you simply add:

<rich:spacer height="1" width="2" />
9
votes

You can also use primefaces <p:spacer width="10" height="10" />

7
votes

Eventually, you can try this one, if just using &nbsp; fails...

<h:outputText value="& nbsp;" escape="false"/>

(like Tom, I added a space between & and nbsp; )

4
votes

The easiest way is:

<h:outputText value=" " />
4
votes

I found that the parser would complain if I used the &nbsp; entity in my page. After a little research, I learned that if I added a DOCTYPE declaration to the beginning of the page, the entity was allowed. I use this DOCTYPE declaration:

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

A side effect of this is that the resulting code (as seen by using the "view source" feature of a web browser) doesn't actually contain the &nbsp; entity. It instead includes the actual characters that represent a nonbreaking space. Although it works, it's not really what I want. I'm still looking for a way to make the parser not replace the entity with the character.

More information here: http://java.net/jira/browse/JAVASERVERFACES-1576

2
votes

You can use primefaces library

 <p:spacer width="10" />
1
votes

just to add to options: <h:outputText value="&amp;nbsp;" escape="false"/> worked

0
votes

Not necessary to give 160 . 141 will also work. For the value field provide value="&#141" .