Enttäuscht von den Schwierigkeiten die JSPs bei der Erstellung von Java Server Applikationen machen, suchte ich seit letzte Woche noch einer alternativen View-Technologie.
Die Suche ist zunächst zu Ende: Facelets ist die JSF-View Technologie.
Die Vorteile liegen für mich auf der Hand:
- reine XML basierte Definition der Views (zumeist XHTML).
- einfaches Templating ala Tiles.
- durch Tag-Aliasing können Component-Tag durch normale XHTML-Tags dargestellt werden.
- mit Alias-Tags sind Views direkt im HTML.Editor darstellbar.
- einfache Erweiterung durch Facelet-Taglibs und simple zu programmierende Tags
Die reichlich undurchsichtigen Regeln, die man beachten muss, wenn man JSF-Views mit JSP-Tags baut, sind vergessen. Eine View zu definieren ist sehr intuitiv.
Was für mich fehlt (ich arbeite gerade daran), ist das Einbindung von Third-Party-JSP Taglibs. Wenn das nicht unterstützt wird, ist manchmal der Wechsel komplett verbaut. Allerdings gibt es da wohl einen Ausweg:
Ein Custom-Component, das eine JSP-Taglib lädt und deren doTag() bzw. doStartTag() / doEndTag() aufrufen kann.
Freilich soll auf diese Weise nicht wieder "altes JSP"-Übel eingeführt werden. Aber bestimmte nützliche Taglbs, die mehr oder minder "nur" Ausgabe produzieren, lassen sich so auch mit Facelets weiterbenutzen.
Sobald eine Version läuft, mehr davon …