92

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?

1

10 Answers 10

189

this will work

<h:outputText value="&#160;" /> 
Sign up to request clarification or add additional context in comments.

2 Comments

Why is a <h:outputText> required?
Indeed, using the HTML numbers and not other html-shortcuts is the way to go.
53

Putting the HTML number directly did the trick for me:

&#160; 

1 Comment

Oh, I just wanna give the answer right now. Glad, I have not overseen yours.
19

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

2 Comments

+1 althoug this wasn't exactly asked here, but your answer was helpful to me (regaring the title)
same here, this tag also exists in PrimeFaces: <p:spacer />
9

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

Comments

7

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

1 Comment

I feel escaping is such of importance, that this might give way to non-secure solutions. Giving up escaping for only a nbsp / other html elements is tricky. Besides, the 'space' might be forgotten. This is quite verbose, while there are shorter alternatives.
4

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

Comments

4

You can use primefaces library

 <p:spacer width="10" /> 

3 Comments

This does not provide an answer to the question. Once you have sufficient reputation you will be able to comment on any post; instead, provide answers that don't require clarification from the asker. - From Review
@ihebiheb was take +6, dont tell me it's wrong, because i know its true, just you say blah blah..
Your answer was flagged as too short because it lacks details. I suggest you to add details to let users understand "why" your solution could be a good one or maybe the best one. Adding detailslet users adapt your solution to slightly different problems.
3

The easiest way is:

<h:outputText value=" " /> 

2 Comments

It is not the easiest way, in my opinion.
That's a regular space, not a NBSP.
1

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

1 Comment

I feel escaping is such of importance, that this might be give way to non-secure solutions. Giving up escaping for only a nbsp / other html elements is tricky. Besides, this is quite verbose, while there are shorter alternatives.
0

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

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.