JSF 2
                             par la pratique




                                    1
vendredi 10 septembre 2010
INTERVENANT
                      Damien GOUYETTE




          Expert technique java / JEE. 
          Scrummaster certifi...
OBJECTIFS DE LA
                             PRÉSENTATION


         • Présenter         les nouveautés de JSF 2

        ...
Historique



         • 2004              : JSF 1.0 & 1.1

         • 2006              : JSF 1.2

         • Octobre    ...
PLAN DU BLOG




                                  5
vendredi 10 septembre 2010
DÉCOUPAGE D’UNE PAGE




                             6
vendredi 10 septembre 2010
FONCTIONNALITÉS DE
                           FACELET

    • Templating              & inclusion,

    • Création         ...
CODE DU MAITRE




                                   8
vendredi 10 septembre 2010
UN PEU DE TRAITEMENT




                             9
vendredi 10 septembre 2010
JSF2 & ANNOTATIONS

    • @ManagedBean

    • @FacesComponent,

    • @FacesRenderer,

    • @FacesConverter,

    • @Face...
MANAGEDBEAN &
                              ANNOTATION

              • @ApplicationScoped,

              • @SessionScope...
UN PEU DE NAVIGATION




                             12
vendredi 10 septembre 2010
NAVIGATION : AVANT/APRÈS




                             13
vendredi 10 septembre 2010
NAVIGATION
                   CONDITIONNELLE <IF/>




      <if>#{managedBean.proprieteBooleenne}</if>

                 ...
AJOUT D’UN COMMENTAIRE




                             15
vendredi 10 septembre 2010
PROBLÈME DE DOUBLE
                          SOUMISSION



    • Solution               : GET




                        ...
REDIRECTION AVEC JSF 2



    • Outcome                suffixé par ?faces-redirect=true

    •<redirect/> dans navigation-r...
EXEMPLES :

    •?faces-redirect=true en suffixe des outcome




    •<redirect/>
        sur la navigation-case



       ...
URL BOOKMARKABLES




                                19
vendredi 10 septembre 2010
BOOKMARK & JSF


    •3       composants :

         • <h:link/>

         • <h:button/>

         • <f:viewParam/>



   ...
BOOKMARK & CODE




                                    21
vendredi 10 septembre 2010
AFFICHAGE D’UNE
                              NOTIFICATION




                                    22
vendredi 10 septembr...
FLASHSCOPE




                                 23
vendredi 10 septembre 2010
VALIDATION DU
                             COMMENTAIRE




                                   24
vendredi 10 septembre 2010
VALIDATION : AVANT




                                     25
vendredi 10 septembre 2010
VALIDATION : APRÈS




                                     26
vendredi 10 septembre 2010
ANNOTATIONS DISPONIBLES


        Contraintes disponibles :

    • @CreditCardNumber, @Email, @URL

    • @Length, @Range,...
AJOUT D’UN COMMENTAIRE
                EN AJAX




                             28
vendredi 10 septembre 2010
<F:AJAX/> ATTRIBUTS

        execute & render, valeurs possibles :

        @all,
        @none,
        @form,
        @t...
LE CODE




                                30
vendredi 10 septembre 2010
VALIDATION & AJAX
    • Valide            le contenu à chaque perte de focus sur un élément.




                         ...
VALIDATION & AJAX 2




                                      32
vendredi 10 septembre 2010
COMPOSANT COMPOSITE
                   TWITTER



    • Nécessite              l’ajout de ressources statiques




       ...
TRAITEMENT DES
                                 RESSOURCES
    •   CSS, javascript, images
    •   Emplacements
         •...
TRAITEMENT DES
                               RESSOURCES




    •   <h:outputScript library="helloworld" name="function.j...
LE CODE




                                36
vendredi 10 septembre 2010
COMPOSITE COMPONENT ET
        BACKING BEAN
        Associer du code métier java au composant composite

        Backing B...
COMPOSITE COMPONENT ET
        BACKING BEAN




                             38
vendredi 10 septembre 2010
COMPOSITE COMPONENT ET
        BACKING BEAN




                             39
vendredi 10 septembre 2010
AMÉLIORATION DES
                              PERFORMANCES


    • ViewState,

    • Ajax




                           ...
PRÊTS POUR JSF2

      Librairies de composants
      • Richfaces 4.0 M2, IceFaces 2.0 béta 1, PrimeFaces 2.0...
      Ser...
SYNTHÈSE DES NOUVEAUTÉS

                             Nouvelles fonctionnalités               Simplifications
             ...
POUR ALLER + LOIN

    •   Code source : http://github.com/dgouyette/jugsummercamp

    •   Refcard JSF2 : http://refcardz...
QUESTIONS / RÉPONSES


                             44
vendredi 10 septembre 2010
Prochain SlideShare
Chargement dans…5
×

JSF2 par la pratique

9 544 vues

Publié le

Publié dans : Technologie
1 commentaire
1 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
9 544
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
675
Commentaires
1
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

JSF2 par la pratique

  1. 1. JSF 2 par la pratique 1 vendredi 10 septembre 2010
  2. 2. INTERVENANT Damien GOUYETTE Expert technique java / JEE.  Scrummaster certifié Plus particulièrement spécialisé dans le développement d'IHM web Blog : http://www.cestpasdur.com Twitter : @cestpasdur 2 vendredi 10 septembre 2010
  3. 3. OBJECTIFS DE LA PRÉSENTATION • Présenter les nouveautés de JSF 2 • Donner des exemples concrets d’utilisation au travers du développement d’un blog 3 vendredi 10 septembre 2010
  4. 4. Historique • 2004 : JSF 1.0 & 1.1 • 2006 : JSF 1.2 • Octobre 2009 : JSF 2 4 vendredi 10 septembre 2010
  5. 5. PLAN DU BLOG 5 vendredi 10 septembre 2010
  6. 6. DÉCOUPAGE D’UNE PAGE 6 vendredi 10 septembre 2010
  7. 7. FONCTIONNALITÉS DE FACELET • Templating & inclusion, • Création de composant, • Débogage, • Répétition. 7 vendredi 10 septembre 2010
  8. 8. CODE DU MAITRE 8 vendredi 10 septembre 2010
  9. 9. UN PEU DE TRAITEMENT 9 vendredi 10 septembre 2010
  10. 10. JSF2 & ANNOTATIONS • @ManagedBean • @FacesComponent, • @FacesRenderer, • @FacesConverter, • @FacesValidator. 10 vendredi 10 septembre 2010
  11. 11. MANAGEDBEAN & ANNOTATION • @ApplicationScoped, • @SessionScoped, • @ViewScoped (new), • @RequestScoped • @NoneScoped, 11 vendredi 10 septembre 2010
  12. 12. UN PEU DE NAVIGATION 12 vendredi 10 septembre 2010
  13. 13. NAVIGATION : AVANT/APRÈS 13 vendredi 10 septembre 2010
  14. 14. NAVIGATION CONDITIONNELLE <IF/> <if>#{managedBean.proprieteBooleenne}</if> 14 vendredi 10 septembre 2010
  15. 15. AJOUT D’UN COMMENTAIRE 15 vendredi 10 septembre 2010
  16. 16. PROBLÈME DE DOUBLE SOUMISSION • Solution : GET 16 vendredi 10 septembre 2010
  17. 17. REDIRECTION AVEC JSF 2 • Outcome suffixé par ?faces-redirect=true •<redirect/> dans navigation-rule 17 vendredi 10 septembre 2010
  18. 18. EXEMPLES : •?faces-redirect=true en suffixe des outcome •<redirect/> sur la navigation-case 18 vendredi 10 septembre 2010
  19. 19. URL BOOKMARKABLES 19 vendredi 10 septembre 2010
  20. 20. BOOKMARK & JSF •3 composants : • <h:link/> • <h:button/> • <f:viewParam/> 20 vendredi 10 septembre 2010
  21. 21. BOOKMARK & CODE 21 vendredi 10 septembre 2010
  22. 22. AFFICHAGE D’UNE NOTIFICATION 22 vendredi 10 septembre 2010
  23. 23. FLASHSCOPE 23 vendredi 10 septembre 2010
  24. 24. VALIDATION DU COMMENTAIRE 24 vendredi 10 septembre 2010
  25. 25. VALIDATION : AVANT 25 vendredi 10 septembre 2010
  26. 26. VALIDATION : APRÈS 26 vendredi 10 septembre 2010
  27. 27. ANNOTATIONS DISPONIBLES Contraintes disponibles : • @CreditCardNumber, @Email, @URL • @Length, @Range, @Min, @Max, • @Past, @Future... 27 vendredi 10 septembre 2010
  28. 28. AJOUT D’UN COMMENTAIRE EN AJAX 28 vendredi 10 septembre 2010
  29. 29. <F:AJAX/> ATTRIBUTS execute & render, valeurs possibles : @all, @none, @form, @this (par défaut) event change, click... 29 vendredi 10 septembre 2010
  30. 30. LE CODE 30 vendredi 10 septembre 2010
  31. 31. VALIDATION & AJAX • Valide le contenu à chaque perte de focus sur un élément. 31 vendredi 10 septembre 2010
  32. 32. VALIDATION & AJAX 2 32 vendredi 10 septembre 2010
  33. 33. COMPOSANT COMPOSITE TWITTER • Nécessite l’ajout de ressources statiques 33 vendredi 10 septembre 2010
  34. 34. TRAITEMENT DES RESSOURCES • CSS, javascript, images • Emplacements • /resources • /META-INF/resources • Structure des resources • [localePrefix]/[libraryName]/[libraryVersion]/resourceName/[resourceVersion] • [] = facultatif • EL : #{resource['<library name>:<resource name>']} (utilisable aussi dans les fichiers JS et CSS) • Version • La dernière version disponible (library & resource) est sélectionnée automatiquement 34 vendredi 10 septembre 2010
  35. 35. TRAITEMENT DES RESSOURCES • <h:outputScript library="helloworld" name="function.js" target="head"/> ou #{resource["helloworld:function.js"]} 35 vendredi 10 septembre 2010
  36. 36. LE CODE 36 vendredi 10 septembre 2010
  37. 37. COMPOSITE COMPONENT ET BACKING BEAN Associer du code métier java au composant composite Backing Bean : implements javax.faces.component.NamingContainer getFamily() return «javax.faces.component.NamingContainer» 37 vendredi 10 septembre 2010
  38. 38. COMPOSITE COMPONENT ET BACKING BEAN 38 vendredi 10 septembre 2010
  39. 39. COMPOSITE COMPONENT ET BACKING BEAN 39 vendredi 10 septembre 2010
  40. 40. AMÉLIORATION DES PERFORMANCES • ViewState, • Ajax 40 vendredi 10 septembre 2010
  41. 41. PRÊTS POUR JSF2 Librairies de composants • Richfaces 4.0 M2, IceFaces 2.0 béta 1, PrimeFaces 2.0... Serveurs d'application • Glassfish, Jboss, Tomcat, Jetty IDE • NetBeans 6.9, Eclipse et JbossTools 3.2 M1, • IntelliJ IDEA... • Génération de code : Archetypes Maven, Richfaces CDK 41 vendredi 10 septembre 2010
  42. 42. SYNTHÈSE DES NOUVEAUTÉS Nouvelles fonctionnalités Simplifications Ajax inclus et optimisé Développement de composant facilité Profils d’utilisation Navigation simplifiée Remplacement de la configuration Externalisation de ressources statiques XML par des annotations Nouveaux scopes : ViewScope et FlashScope Support de GET en plus du POST 42 vendredi 10 septembre 2010
  43. 43. POUR ALLER + LOIN • Code source : http://github.com/dgouyette/jugsummercamp • Refcard JSF2 : http://refcardz.dzone.com/refcardz/javaserver-faces-20 • Le site de la spécification JSR-314 : http://jcp.org/en/jsr/detail?id=314 • Blog Ed Burns, un des spec leader : http://www.java.net/blogs/edburns • Liste des librairies tierces-parties : http://www.jsfmatrix.net/ • Livre : JavaServerFaces 2: the complete reference • Le livre d'Antonio Goncalves sur JEE 6 en général: « Beginning Java EE 6 platform with Glassfish 43 vendredi 10 septembre 2010
  44. 44. QUESTIONS / RÉPONSES 44 vendredi 10 septembre 2010

×