As soon as I saw Facelets I was a happy man.
I have always hated:
<h:form> <h:dataTable value="#{widgetService.widgetDataModel}" var="widget"> <h:column> <h:commandLink action="#{widgetService.delete}" immediate="true"> <h:outputText value="Delete" /> </h:commandLink> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Name" /> </f:facet> <h:outputText value="#{widget.name}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Description" /> </f:facet> <h:outputText value="#{widget.description}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Cost" /> </f:facet> <h:outputText value="#{widget.cost}"/> </h:column> </h:dataTable> </h:form>
And, moving back to just normal HTML with the odd jsfid attribute, class attribute, etc… felt at home.
If I was writing my own JSF web app, I would jump to use this view instead of the mess.
However, if you were a huge enterprise, and you were sold on “tooling”, then will this play in that world?
NOTE: Taming JSF 1.1 is an interesting article on JSF 1.1.