None of the AWT, Swing or SWT desktop UI functions work on a web application (unless you're running in an
applet). JSF web pages, like all web pages, are rendered in HTML and therefore subject to the same layout issues and controls as any other HTML.
The HTML equivalent of jTextArea is TEXTAREA, which is supported in JSF View Template Language by the "h:inputTextarea" tag. Which is case-sensitive, unlike the HTML tag. As this is a JSF input/output control, JSF will automatically sync the backing bean with the contents of a inputTextArea when the JSF form is submitted.
Layout in JSF is supported by several different tags, including the h:panelGrid tag, the h:dataTable tag (for tabular formatting), and other. Brute-force HTML div tags also work, although I recommend keeping raw HTML to a minimum.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.