facelets - How do I insert non breaking space character   in a JSF page?


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?

All Answers
  • Translate

    this will work

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

  • Translate

    Putting the HTML number directly did the trick for me:


  • Translate

    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" />

  • Translate

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

  • Translate

    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; )

  • Translate

    The easiest way is:

    <h:outputText value=" " />

  • Translate

    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

  • Translate

    You can use primefaces library

     <p:spacer width="10" />

  • Translate

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

  • Translate

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

  • Translate

    You can use css:

     style="margin-left: 5px;"