This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
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.
An IDE is no substitute for an Intelligent Developer.