Like many things having to do with JSF, it can be difficult to figure out how to render a line break (AKA new line) in the content of an outputText tag. This has come up most frequently for me when I want to narrow the width of a table column by breaking the heading content into one or more lines. For example:

<h:column>
    <h:outputText value="Very Wordy Table Column Heading" />
</h:column>

Your first (and last) thought might be to insert a line break tag (escaped, of course, so as not to break the XML formatting) in the content, like so:

<h:column>
    <h:outputText value="Very Wordy&lt;br /&gt;Table Column&lt;br /&gt;Heading" />
</h:column>

But, this don't work:

Very Wordy<br
/>Table Column<br
/>Heading

Actually, this isn't far off. The key is to disable output escaping using the escape attribute of the outputText tag, like so:

<h:column>
    <h:outputText value="Very Wordy&lt;br /&gt;Table Column&lt;br /&gt;Heading" escape="false" />
</h:column>

This works:

Very Wordy
Table Column
Heading

What's going on here? By default, the outputText tag escapes HTML tags, which is great because it helps prevent injection attacks. What we're telling the outputText tag to do is not do that. So, it follows that you shouldn't do this when dynamic, possibly unsafe content is being passed to the outputText tag.

Hope this helps.