Utiliser Apache MyFaces2
Comme nous l'avons déjà vu dans les précédents articles, on peut développer en JSF2 avec JBoss, sans rien installer, car JBoss dispose d'une implantation de JSF2, fournie par défaut. C'est Sun JSF RI ou "Mojarra", l'implantation de référence de Sun (Sun JSF Reference Implementation). Néanmoins, il est tout à fait possible d'utiliser une autre implantation de JSF2, comme Apache MyFaces 2.
Téléchargez MyFaces2
http://myfaces.apache.org/index.htmlCommencez par télécharger la version, que vous souhaitez utiliser. Vous pouvez vérifier la signature et md5, comme mentionné sur le site. Dans la suite de l'article
MyFaces Core 2.1.8 est utilisé.
Décompressez l'archive téléchargé. On obtient plusieurs dossiers, nous allons nous intéresser au dossier
"lib"
Créez un projet JSF2
File > New > Other
Sélectionnez
Dynamic Web Project > Next
Donnez un nom à votre projet, gardez les options
Target runtime et
Dynamic web module version comme tel (ces options ont été sélectionnées, quand nous avons configuré JBoss AS, dans un précédent article). Un clic sur le bouton
Modify
Sélectionnez
JavaServer Faces v2.1 Project > Next
Un clic sur
Next
Cochez
Generate web.xml deployment descriptor > Next
Sous
JSF Implentation Library > Sélectionnez User LibraryUn clic sur l'icône
Manage Libraries
Dans le dialogue
User Libraries > Cliquez sur le bouton
New...
Donnez un nom à la bibliothèque > un clic sur
OK
Un clic sur le bouton
Add External JARs...
Note :Il est possible et selon vos besoins de d'utiliser
Add JARs..., après avoir copié les bibliothèques sous
WEB-INF/lib.
Dans le dossier "
lib" résultant de la décompression de l'archive MyFaces, on sélectionne soit
myfaces-api-2.1.8.jar et myfaces-impl-2.1.8.jar ou bien
myfaces-bundle-2.1.8.jar, plus le reste des fichiers .jar dans le dossier.
Un clic sur
OK
La bibliothèque utilisateur est ajoutée, cochez sa case
Vérifiez les autres options > un clic sur
Finish
Ouvrez
web.xml dans l'éditeur actif en double cliquant sur web.xml dans le dossier WEB-INF
Ajoutez les lignes suivantes : <context-param>
<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
<param-value>true</param-value>
</context-param>
Notez au passage que JBoss Tools a bien configuré le fichier web.xml pour l'utilisation de MyFaces 2.
Testez le projet
La configuration du projet étant terminée, faisons un petit test
J'utilise les mêmes composants JSF2 que nous avons développés, lors de précédents articles.
Sélectionnez le projet qu'on vient de créer > clic droit >
Run As > Run on Server
JBoss 7.1 Runtime Server est sélectionné >
Next
Vérifiez que le projet avec MyFaces 2 est dans la liste >
Finish
JBoss AS Server est lancé avec MyFaces 2 et l'application est exécutée
Read more...