Introduction
Ici les explications pour mettre à jour la version de "JSF de base", qui s'appelle Mojarra. Habituellement ce n'est pas la peine de le faire, toutes les versions sont ok dans netbeans/glassfish, néanmoins, la version distribuée avec netbeans 7.3.1 a un bug qui oblige à changer les namespaces quand on utilise des viewParams dans une page JSF. En mettant à jour Mojarra vers la dernière version, on enlève ce bug.
Passer netbeans/glassfish en Mojarra 2.2.4
Voici ce qu'il faut faire :
- Récupérer la dernière version de Mojarra à l’adresse https://javaserverfaces.java.net/, appelons-la javax.faces-2.2.4.jar. COPIE LOCALE ICI : javax.faces-2.2.4.jar
- Fermer GlassFish s’il est en marche.
- Aller dans le répertoire modules de GlassFish (disons C:\Program Files\glassfish-4.0\glassfish\modules) ; ce chemin peut changer si vous êtes sur Mac ou si vous avez modifié le chemin d'installation.
- Les étapes suivantes ont l'air bizarre mais elles permettent de mettre à jour la version de JSF/Mojarra en forçant l'effacement du cache de glassfish. Juste copier le fichier ne suffit pas.
- Effacer le fichier javax.faces.jar.
- Copier le fichier javax.faces-2.2.4.jar en le renommant javax.faces.toto, si, si!
- Lancer GlassFish. Dans les logs de GlassFish devrait apparaître une ligne « INFO: Updated bundle 196 from /C:/Program Files/glassfish-4.0/glassfish/modules/javax.faces.jar » et aussi voir "INFO: Initialisation de Mojarra 2.2.4"
- Arrêtez glassfish à nouveau
- Renommez javas.faces.toto en javax.faces.jar
- Vous pouvez relancer glassfish
- Tester maitenant le TP 1 en mettant l'espace de noms xmlns:f="http://xmlns.jcp.org/jsf/core" dans la page CustomerDetails.xhtml, comme cela aurait du être. Ca se passe dans la page JSF du formulaire.