JSF ist ja nicht jedermanns Sache. Ich fand JSF 1.x auch mit den “Problemen” toll. Die Implementierung (Mojarra und MyFaces) hatten so manche Fehler und zusätzliche Funktionalitäten, welche in der Spec nicht definiert wurden. Aber im Großen und Ganzen ein gutes und solides Konzept. Leider jedoch ein Framework, was ein paar Jährchen und Trends hinter sich hat - JSF 1.1 (JSR 127, 03.2001) und JSF 1.2 (JSR 252, 05.2006). Seit 07.2009 gibt es nun das Final Release der JSF 2.0 Spezifikation (JSR 314). Die RI von SUN steht auch bald bereit und auch die Truppe um MyFaces hat einen JSF 2.0 Branch erstellt. Spätestens jetzt sollte man einen Blick auf die Neuerungen und Verbesserungen, die mit 2.0 eingeführt werden, werfen. Möchte man sich nun mit JSF 2.0 auseinander setzen, könnte man sich die ersten Bücher besorgen, aber ob diese aktuell und praxistauglich sind, sei jedem überlassen. Die vielleicht komplette und aktuelle Information kriegt man zur Zeit, wenn man sich direkt die APIs anschaut und verschiedene Blogs verfolgt. Hier folgt erstmal eine unvollständige Liste von Informationsquellen (wird aktualisiert):
[Read More]Tutorial: JSF 2.0 Beispielanwendung
Wie schon erwähnt, erscheinen bald die ersten Releases von JSF 2.0. Entsprechend wird nun eine kleine Beispielanwendung erstellt, um einen ersten Eindruck zu bekommen. Technologie:
- JSF 2.0: Mojarra in Version 2.0.0-b16
- Tomcat 6
- Maven
- Eclipse
Voraussetzung:
- JDK 6
- Tomcat 6
- Eclipse inklusive WTP, Maven (m2eclipse)
- Beim m2eclipse-Plugin “Maven integration for WTP” in Eclipse nachinstallieren, falls nicht vorhanden
Vorbereitung:
[Read More]JSF: Method not called
Java Server Faces (JSF) ist eine schöne Technologie für den Web-JEE-Bereich.
Es bietet eine gute Möglichkeit die Entkopplung der einzelnen Schichten einzuhalten und mit der Kombination von Facelets, kann sogar ein Grafiker einfacher damit arbeiten.
Bei JSF sind bestimmte “Aktionen” einer Methode zugeordnet. (Methode aus dem ManagedBean, normale Klasse welche in faces-config.xml festgeleg wird, bzw. bei Spring-Einsatz kann man das auch weglassen). D.h. eine Aktion “Kunde anlegen”, welches als Button dargestellt wird, wird mit der Methode CustomerController.add() gebunden.
[Read More]JavaFX 1.0
Seit dem 04.12.2008 gibt es nun endlich die Version 1.0 von JavaFX. JavaFX ist eine Plattform um Rich Internet Applications für verschiedene End-Geräte zu erstellen. Im Idealfall realisiert man eine Anwendung, die dann später im Browser, auf dem Desktop und auf dem mobilen Gerät läuft. Für weitere Details sei auf die JavaFX-Seiten verwiesen [1] und [2].
Überblick
Um JavaFX-Anwendung zu nutzen, braucht man standardmäßig nur die aktuelle Java Version. Hier ist Java 1.6.0_11 [3] passend, da diese Version die Fähigkeit anbietet, Applets auf den Desktop zu ziehen. Beim ersten Aufruf einer JavaFX-Anwendung werden die Runtime-Bibliotheken beim ersten Mal runtergeladen, wenn sie nicht vorhanden sind. Bei entsprechender Implimentierung der JavaFX-Anwendung (was ja ein Applet ist), kann man sich das Applet auf den Desktop ziehen. Schließt man dann den Browser, bekommt man die Möglichkeit ein Verweis auf den Desktop zu erstellen, um später das Applet - und nur das Applet, nicht auch den Browser - wieder zu nutzen.
[Read More]JavaFX 1.0 Example
Im letzten Beitrag habe ich kurz JavaFX vorgestellt. Zu den theoretischen Daten folgt nun ein kleines praktisches Beispiel.
Das Beispiel basiert auf das Tutorial von SUN [1] und wurde um die Eigenschaft erweitert, dass das Applet auch auf dem Desktop verwendet werden kann.
Das Beispiel erstellt eine analoge Uhr, welche man sich auf den Desktop ziehen kann. Der Fokus liegt auf die Implementierung und nicht auf jegliche graphische Feinheiten.
[Read More]Firefox Add-on Pencil
Um schnell Diagramme bzw. Screendesign zu erstellen, empfehlt es sich das Firefox Add-on “Pencil” zu nutzen. Pencil bietet die gängisten HTML-Elemente (Inputfeld, Tabellenstruktur, Select-Boxen etc.) und ein paar zusätzliche Elemente (Notizen, Pfeile etc.) um somit in kurzester Zeit schöne Screendesigns zusammen zu klicken. Die einzelnen Elemente können gruppiert werden und an andere Elemten ausgerichtet werden. Jedes Element beinhaltet ein paar Einstellungsmöglichkeiten wie Farbe, Schriftart und Größe.
Die erstellten Designs können dann als PNG exportiert werden.
[Read More]