Like I mentioned in another answer, HTML isn't a strict character-based definition language. Not only does it ignore newlines, it will remove multiple spaces when it displays a page.
A popular way of getting around this is to fake it using the "non-break space" entity (" "), but that's brute force.
On the other hand, you can't set width on an outputText
JSF tag, because the outputText generates an HTML <span>, which doesn't support width. So what you have to do is embed the outputText in a construct that
does support widths, such as a column in a table. Or, in the case that you used, a panelGrid will do:
Note that I got rid of the raw HTML tags. They're not good practice and they weren't needed anyway. I also changed the capitalization on your bean name, since as a instance variable, it should begin with an uppercase letter. That should only be done for class names.