Dans ce tutoriel, nous allons vous montrer comment développer un exemple de bonjour JavaServer Faces (JSF) 2.0, qui montre la liste des dépendances JSF 2.0, des annotations de base et des configurations.
Environnement du projet
Cet exemple JSF 2.0 est construit avec les outils et technologies suivants
JSF 2.1.7
Maven 3
Eclipse 3.6
JDK 1.6
Tomcat 6.0.26
Tout d'abord, passez en revue la structure finale du projet, au cas où vous ne savez pas où créer les fichiers ou dossiers correspondants ultérieurement.
1. Dépendances JSF 2.0
Maven central repository has the JSF version up to 1.2 only, to get the *JSF 2.0, vous devrez peut-être télécharger à partir deJava.net repository. * Le référentiel central maven est mis à jour la bibliothèque JSF vers la version 2.1.7. Le référentiel Java.net précédent n'est plus requis.
For Java EE Application Server like Glassfish Dans la plupart des serveurs d'applications Java EE, il abuild-in support for JSF 2.0, vous devez donc télécharger l'API JSF unique à des fins de développement.
Warning el-ri.jar est une dépendance défendable dans le conteneur de servlet Tomcat, même si cela n'est pas indiqué dans la note de publication, mais vous avez besoin de cette bibliothèque pour résoudre le problème «http: // www. example.com/jsf2/jsf-2-0-tomcat-it-appears-the-jsp-version-of-the-container-is-older-than-2-1/[La version JSP du conteneur est antérieure à 2.1 …]" Message d'erreur.
Updated – 21-10-2010 Ce "el-ri.jar" est trop ancien, il est recommandé d'utiliser le dernier "el-impl-2.2.jar", deJava.net
org.glassfish.webel-impl2.2
Updated – 25-07-2012 Cette dépendanceel-ri.jar n'est plus requise dans Tomcat 7.
2. Bean géré JSF 2.0
Un bean Java ou un bean géré JSF, avec une propriété de nom pour stocker les données utilisateur. Dans JSF, le bean géré signifie que cette classe Java ou ce bean est accessible à partir d'une page JSF.
Dans JSF 2.0, utilisez l'annotation@ManagedBean pour indiquer qu'il s'agit d'un bean géré. HelloBean.java
package com.example.common;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import java.io.Serializable;
@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Note Dans JSF 1.x, vous deviez déclarer des beans dans lesfaces-config.xml, mais ce n'est plus nécessaire dans JSF 2.0.
3. Pages JSF 2.0
Dans JSF 2.0, il est recommandé de créer une page JSF dansXHTML file format, un fichier avec une extension .xhtml.
Voir les deux pages JSF 2.0 suivantes:
Note Pour utiliser les composants ou fonctionnalités JSF 2.0, il suffit de déclarer lesJSF namespace en haut de la page.
File : hello.xhtml - Rend une zone de texte JSF et la liera avec le «helloBean» (bean géré JSF), la propriété «name», ainsi qu'un bouton pour afficher le «welcome.xhtml »lorsque l'utilisateur clique dessus.
JSF 2.0 Hello World
JSF 2.0 Hello World Example - hello.xhtml
Note Dans JSF 1.x, vous deviez déclarer les «navigation rule» dans «faces-config.xml», pour indiquer quelle page afficher lorsque le bouton est cliqué. Dans JSF 2.0, vous pouvez placer le nom de la page directement dans l’attribut «action» du bouton. Pour une navigation simple, c’est plus que suffisant, mais pour une navigation complexe, il est toujours conseillé d’utiliser les «navigation rule» dans «faces-config.xml».
File : welcome.xhtml - Affiche la valeur de la zone de texte soumise.
JSF 2.0 Hello World
JSF 2.0 Hello World Example - welcome.xhtml
Welcome #{helloBean.name}
Les\{…} indiquent qu'il s'agit d'unJSF expression language, dans ce cas,\{helloBean.name}, lorsque la page est soumise, JSF trouvera les «helloBean» et définira la valeur de la zone de texte soumise via la méthodesetName(). Lorsque la pagewelcome.xhtml est affichée, JSF retrouvera la même session «helloBean» et affichera la valeur de la propriété de nom via la méthodegetName().
4. Configuration JSF 2.0 Serlvet
Comme tout autre framework Web standard, vous devez configurer les éléments JSF dans le fichierweb.xml.
Dans le développement JSF 2.0, il est recommandé de définir «javax.faces.PROJECT_STAGE» sur «Development», cela fournira de nombreuses informations de débogage utiles pour vous permettre de suivre facilement les bogues. Pour le déploiement, changez-le simplement en «Production», vous ne voulez tout simplement pas que votre client regarde ces informations de débogage ennuyeuses :).
5. Demo
Un long article se termine par une démo de projet :)