Facelets is, in a lot of ways, more "relaxed" than JSP as a view technology for JSF. One of the ways is the way we can use inline texts. With JSF, you always need a component to render text on the output. This can make our page definitions more complicated than necessary. Facelets will keep the XHTML tags that we mix with our JSF components, and will also retain any plain texts. (This is called content interweaving.) This means that we no longer need JSF components for rendering static elements on a page. We can even incorporate some dynamic or internationalized texts, because Facelets allows us to use Expression Language within inline texts. This means, the quote of the day example from the previous section can be rewritten in a more elegant way, as follows:
<ui:composition template="templates/template.xhtml"> <ui:define name="title">Login</ui:define> <ui:define name="content"> <h:form id="login"> <h:panelGrid columns="4"> <mias...