Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java EE - FHWS 2014 - 3 JSF

563 views

Published on

Java EE - FHWS 2014 - 3 JSF

Published in: Software
  • Be the first to comment

Java EE - FHWS 2014 - 3 JSF

  1. 1. Java EE Full Stack for Business Applications  Java Server Faces
  2. 2. Referent: MATTHIAS REINING Technical Manager Insurance at RGI Deutschland GmbH blog: http://blog.matthias-reining.com twitter: https://twitter.com/MatthiasReining about.me: http://about.me/matthiasreining
  3. 3. JAVA SERVER FACES
  4. 4. DAS PROGRAMM  Die Spec  Idee, Historie  Der App Server  Containerkonzept  Paketierung (JAR, WAR, EAR)  Marktüberblick  Das Projekt  Entwicklung eines Beispielprojektes  IDE Settings, Oberflächen (Servlets, JSF), Business Logic (EJB), Persistence (JPA), Java EE Patterns (CDI), Web Services (JAX-RS)  Die Produktion  Buildmanagement (maven, Jenkins)  Deployment einer Java EE Anwendung in der Cloud bei einem PaaS Anbieter
  5. 5. BESTANDSAUFNAHME Welche Java UI Frameworks sind bekannt?  Struts?  Wicket?  Vaadin?  GWT?  Spring Web MVC?  JSF?
  6. 6. Wieso werden neben Servlets & JSPs noch andere Frameworks genutzt? Komfortables Handling von  Templates  HTML Formulare  Komponenten  Wartung  …
  7. 7. JAVA SERVER FACES
  8. 8. What is JSF? JavaServer Faces (JSF) is a UI component based Java Web application framework. JSF is serverbased, e.g. the JSF UI components and their state are represented on the server with a defined life cycle of the UI components. JSF is part of the Java EE standard. [Quelle: http://docs.oracle.com/javaee/7/firstcup/doc/java-ee001.htm#GKHOY]
  9. 9. Java Server Faces Tutorials / Nachschlagewerke  http://docs.oracle.com/javaee/7/tutorial/doc/jsf-intro.htm  http://jsfatwork.irian.at/
  10. 10. JSF - Spec Reference Implementation: Mojarra Alternative: MyFaces Konkrete Implementierung hängt vom Application Server ab!
  11. 11. MODEL – VIEW – CONTROLLER Designpattern
  12. 12. Java Server Faces MODEL  Java POJO VIEW  Faclet CONTROLLER  Managed Bean (Backing Bean)
  13. 13. POJO Model Plain Old Java Object
  14. 14. FACLETS View XHTML Files mit speziellen Tags <h:…>
  15. 15. MANAGED BEAN Controller Synonym „Backing Bean“ @ManagedBean  verutlich deprecated ab Java EE 8 (http://stackoverflow.com/questions/4347374/backing-beans-managedbean-or-cdi-beans- named)  @Named (siehe später CDI)
  16. 16. JSF Scopes @RequestScope (javax.faces.bean.RequestScoped) @SessionScope (javax.faces.bean.SessionScoped) @ApplicationScope (javax.faces.bean.ApplicationScoped) @ViewScope (javax.faces.bean.ViewScoped) @CustomScope (javax.faces.bean.CustomScoped) @NoneScope (javax.faces.bean.NoneScoped)
  17. 17. UI KOMPONENTEN IN EINEM FACELET JSF-HTML-UI-Komponenten xmlns:h="http://xmlns.jcp.org/jsf/html Tags zur grafischen Darstellung der Benutzeroberfläche JSF-Core-UI-Komponenten xmlns:f="http://xmlns.jcp.org/jsf/core" Tags, die unabhängig von der Darstellung sind. Beispielsweise gehören hierzu die Konvertierung und die Validierung der Geschäftsdaten oder auch die ActionListener. JSF-Templating xmlns:ui="http://xmlns.jcp.org/jsf/facelets" Tags für das Templating [Quelle: Professionell entwickeln mit Java EE 7 – Das umfassende Handbuch, Seite 753]
  18. 18. TEMPLATING MIT FACELETS  <ui:insert> „Platzhalter“ in einem Template  <ui:composition> Verbindung zum Template  <ui:define> „Implementierung“ eines Platzhalters  <ui:include> Wiederverwendung von „Snippets“ http://www.mkyong.com/jsf2/jsf-2-templating-with-facelets-example/ http://www.oracle.com/technetwork/articles/java/facelets-454361.html
  19. 19. JSF LIFECYCLE 1. RESTORE_VIEW 2. APPLY_REQUEST_VALUES 3. PROCESS_VALIDATIONS 4. UPDATE_MODEL_VALUES 5. INVOKE_APPLICATION 6. RENDER_RESPONSE
  20. 20. JSF Messages FacesMessage m = new FacesMessage("läuft.."); FacesContext.getCurrentInstance().addMessage("testMessage", m); <h:message for="testMessage„/> Globale Message FacesContext.getCurrentInstance().addMessage(null, m); <h:messages/> <h:messages globalOnly=„true“/>
  21. 21. i18n Internationalization
  22. 22. Validierung <f:validate…
  23. 23. JSF Events & Listener
  24. 24. JSF Komponenten Bibliotheken Wichtig für Geschäftsanwendungen Allerdings nicht teil der Java EE Spezifikation
  25. 25. JSF Komponenten Bibliotheken Primefaces Rich Faces Ice Faces My Faces
  26. 26. http://primefaces.org/
  27. 27. Aber… Wieso gibt es dann neben JSF noch andere Webframeworks?
  28. 28. Was macht die Konkurrenz? https://vaadin.com/demo http://samples.gwtproject.org/samples/Showca se/Showcase.html
  29. 29. Stirbt JSF?

×