IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Guide pas à pas de l'utilisation de JBoss tools pour le développement JSF

Date de publication : 30/10/08 , Date de mise à jour : 30/10/08

Par Lotfi Mellouk
 

Cet article présente l'utilisation de Jboss tools pour faciliter et industrialiser le développement d'applications web avec JSF

               Version hors-ligne (Miroir)

I. Introduction
I-A. Présentation de Jboss Tools
I-A-1. Installation de JBoss tools
I-A-1-a. Compatibilités système
I-A-1-b. Installation
II. Présentation des outils JBoss tools pour JSF
II-A. La perspective Web development
II-B. La palette Jboss tools
II-C. Editeur Graphique
II-D. Vue du fichier de configuration de JSF
II-E. Assistant du contenu du code source
II-F. Vérificateur et reporteur d'erreur
II-G. Autres éditeurs
III. Guide de création d'un nouveau projet JSF
III-A. Création d'un nouveau projet
III-B. Première page JSF
III-C. Ajouter un managedBean
III-D. Ajouter une règle de navigation
III-E. Importer un projet existant
III-F. Utilisation avec un projet déjà présent dans le workspace
III-G. Créer un Converter
III-H. Créer un Validator
IV. Customiser l'utilisation de JBoss Tools
IV-A. Créer son propre template de projet
IV-B. Ajouter une librairie de tag
IV-C. Créer son propre template de page
IV-D. Support de Facelets


I. Introduction


I-A. Présentation de Jboss Tools

JBoss tools est un ensemble de plugings Eclipse pour le développement J2EE, il inclut le produit Exadel Studio Product passé sous le giron de JBoss, ainsi que, Hibernate tools, JBoss jBPM Tools, Drools IDE, JBoss application Server Tools, et JBoss seam tools. Il supporte nativement les environnements JSF-RI, MyFaces, Richfaces, JBoss Seam, Facelets, Shale.

JBoss tools est donc un outil puissant qui fait partie des meilleurs outils open source pour le développement JSF.


I-A-1. Installation de JBoss tools


I-A-1-a. Compatibilités système


  • Java
  • Système d'exploitation
  • Plug-ins

I-A-1-b. Installation

JBoss tools est proposé en téléchargement sur le site suivant, http://www.jboss.org/tools/, il est possible d'installer seulement le module de développement JSF, ou de prendre tous le package JBoss tools.
Pour installer le plugin, il suffit de télécharger l'archive et le dézipper dans le dossier d'installation de Eclipse.

warning Il est important de vérifier la compatibilité de la version de JBoss tools avec la version d'Eclipse.
Pour l'installation à l'aide du site de mise à jour d'Eclipse : sélectionnez Help/Software updates/Add Site
Ajouter le lien suivant pour la version stable: http://download.jboss.org/jbosstools/updates/stable
Pour la version de développement, utile pour la dérnière version d'Eclipse : http://download.jboss.org/jbosstools/updates/development

Pour vérifier l'installation sélectionnez Window/Open Perspective/Other/Web development


II. Présentation des outils JBoss tools pour JSF


II-A. La perspective Web development

La perspective web development contient le plan de travail pour un projet web. Pour ouvrir cette perspective : Window/Open perspective/Web development


II-B. La palette Jboss tools

La palette Jboss tools rassemble les librairies de tags JSF, Richfaces, Facelets et Jboss seam, il est possible d'ajouter d'autres librairies à la palette.

Palette

II-C. Editeur Graphique

Un éditeur pour pages JSF de type WYSIWYG est disponible pour aider au développement.


II-D. Vue du fichier de configuration de JSF

JBoss toos fournit un puissant éditeur du fichier de configuration faces-config.xml, il contient trois modes:

  • Diagram Visialise le workflow de navigation

  • Tree Contient tous les éléments du faces-config avec la possibilité de réaliser les opérations d'ajout/suppression/modification de chaque élément

  • Source Le code source du faces-config.

II-E. Assistant du contenu du code source

Dans tous les éditeurs du code source, un assistant est disponible, il est lancé lorsqu'on commence à écrire, sinon, on peut le solliciter en utilisant CTRL-ESPACE Exemple dans le code source du web.xml, comme ce qui est proposé en natif dans WTP.


II-F. Vérificateur et reporteur d'erreur

JBoss tools permet détecter les erreurs dans le faces-config, le web.xml ou les pages JSP, il permet de prévenir en cas d'une classe pas bien définit, une property d'un bean qui n'a pas de getter, ou une erreur de parsing des fichiers XML. Il est possible de définir les niveaux de vérification de JBoss tools, dans Window/Preferences/Jboss Tools/Web, Verification.

Il est possible également de faire une vérification explicite en cliquant droit sur un projet JBoss Tools JSF et séléctionner ensuite verify :


II-G. Autres éditeurs

D'autres éditeurs très intéressants sont fournit avec JBoss Tools comme :

  • Editeur XML
  • Editeur Graphique de Properties
  • Editeur Graphique de TLD
  • Editeur Graphique de fichier de description de l'application Web (web.xml)
  • Editeur CSS
  • Editeur JavaScript
  • Visualiseur d'Image
  • Editeur XSD

III. Guide de création d'un nouveau projet JSF


III-A. Création d'un nouveau projet

Nous allons utiliser l'assistant de création d'un nouveau projet JSF:

Click droit sur la vue Web project séléctionner Create New JSF project :


Ajouter le nom du projet, l'environnement JSF et le template. Nous allons choisir l'implémentation JSF 1.1 avec les librairies.


L'assistant nous propose le choix de la version de l'implémentation JSF : JSF 1.1 ou 1.2 ainsi que myfaces 1.1.4.

La template est le type de gabarit du projet crée, les templates proposées sont :

JSFBlank: Création d'un projet web standard avec les capacités JSF

JSFKickStart: Création d'un projet JSF standard avec un exemple prêt à l'emploi.

With/Without Libs: Les deux templates sont disponible avec une version qui inclut les librairies JSF dans le dossier WEB-INF/libs WithLibs et une autre sans les librairies JSF withoutLibs. Il est néanmoins possible d'ajouter son propre template. Lien à ajouter

Déclaer la version de l'api des servlet et le serveur de déploiement:


Le projet JSF est crée avec les librairies nécessaires, nous allons maintenant créer une nouvelle page JSF


III-B. Première page JSF

Création d'un nouveau fichier JSP:
On fait un click droit sur le dossier WebContent, New, File, et on choisi JSP file.


Choix de template:


L'assistant nous propose de définir le template de page, les templates proposées sont:
Blank: Une page JSP vide
JSFBasePage: Page JSF avec la saisie des librairies de tags à utiliser:
JSPRedirect: Une page de redirection.

Il est possible de créer sa propre page de template. Lien ci-dessous.

Nous allons choisir JSFBasePage, et,nous sélectionnons ensuite les tags utilisés dans la page, JSF core et JSF HTML, notre page contient donc:

Nous souhaitons maintenant afficher un message sur la page, nous pouvons procéder de deux manières :

En utilisant la palette: utiliser la palette Jbos Tools, on sélectionne JSF HTML dans la palette, et on click sur outputText

En utilisant l'éditeur: Il suffit de commencer d'écrire 'h:out' et l'éditeur propose la liste des composants qui matchent avec les premières lettres tapées.

Deployer l'application:

Pour déployer notre application,on l'ajoute dans les modules web dans la perspective J2EE/Server, ou on clique droit sur le projet et on fait Run on Server, le démarrage et l'arrêt du serveur peut se faire à l'aide de:

Le résultat:



III-C. Ajouter un managedBean

Nous allons utiliser l'éditeur d du fichier de configuration de JSF pour ajouter un nouveau managedBean.

Ouvrir le fichier faces-context.xml qui se trouve dans : le dossier configuration

Aller dans l'onglet Tree, et click droit sur ManagedBeans et faire New ManagedBean

Saisir les paramètres du managedBean: L'assistant de création du managedBean nous propose de saisir le scope le classe et le nom du managedBean, on coche generate Source Code, la classe sera générée dans le package définis.

Ajouter des properties: Nous allons maintenant ajouter les properties du bean, en cliquant sur le bouton Add dans l'éditeur du mangedBean

Si on ne connait pas le package exact de la classe, utiliser l'assistant en cliquant sur CTRL-ESPACE


III-D. Ajouter une règle de navigation

Nous allons créer la navigation entre la page login.jsp et la index.jsp, passons maintenant sur l'onglet Diagram de l'éditeur du faces-config

Click droit dans l'éditeur, New View

On ajoute une page JSFBasedPage login.jsp

Dans le diagramme, on click sur l'icône create New connection

On lie index.jsp à login.jsp

Il est possible de modifier le cas navigation en double cliquant sur la connection

Ajouter une action dans la page login.jsp

<h:form>
	<h:panelGrid columns="2" cellspacing="5" cellpadding="5">
		<h:outputText value="Login" />
		<h:inputText value="#{compte.login}" />
		<h:outputText value="Mot de passe" />
		<h:inputSecret value="#{compte.password}" />
	</h:panelGrid>
	<h:commandLink value="#{compte.connect}"></h:commandLink>
</h:form>
</f:view>
Nous pouvons accéder directement à la propriété du bean en cliquant sur CTRL + lien sur la property

Ajouter la fonction de contrôle,dans la classe Compte en ajoute la fonction connect:

public String connect(){ 
 return "index"; 
 }
Tester la navigation: Nous avons créé un seul cas de navigation, en cliquant sur bouton Login, nous passons à page index.jsp

Ajouter un cas de navigation: Pour ajouter un autre cas de navigation, on ouvre l'éditeur de faces config et l'onglet Tree, il est possible de créer règle de navigation ou ajouter un cas de navigation à une règle existante.



III-E. Importer un projet existant

Si l'on souhaite utiliser Jboss tools avec un projet existant, un assistant d'import de projets est disponible dans la vue WebProject.
Cliquer droit dans la vue Web Project, ou utiliser le bouton import:

L'assistant nous demande l'endroit ou se situe le web.xml du projet à importer, ensuite, on saisit le nom du projet, les dossiers sources et le serveur de déploiement


III-F. Utilisation avec un projet déjà présent dans le workspace

Pour utiliser Jboss Tools avec un projet JSF qui existe déjà dans le workspace, il faut lui ajouter des capacités JSF: JSF capabilities, pour cela
Click droit sur le projet en question puis séléctionner Jboss tools/add JSF capabilities :
Ensuite nous donnons l'adresse du web.xml et les dossiers web/sources ainsi que le serveur de déploiement comme pour l'import de projet.


III-G. Créer un Converter

  1. Editer le faces config et en passe dans l'onglet Tree

  2. Sélectionner Converters et cliquer sur Add ou cliquer droit sur Converters et ensuite New/Converter with Id

  3. Ciquer sur le lien Converter-Class pour créer la classe Si on clique sur Finish avant de créer la classe, une croix rouge apparait dans la déclaration du converter, on peut cliquer sur Converter-Class pour le créer
    On Crée la classe qui implémente l'interface javax.faces.convert.Converter
  4. Ajouter le code de conversion On peut maintenant définir la logique métier de notre Converter

III-H. Créer un Validator

De la même manière on peut créer un validator personnalisé en utilisant l'assistant


IV. Customiser l'utilisation de JBoss Tools


IV-A. Créer son propre template de projet

Jboss tools dispose d'un système de templates pour créer les nouveaux projets web, il est utile parfois de définir son propre template, comme celui de Maven par exemple, pour cela :

  1. Création du Template Dans l'explorateur de projet, click droit sur le projet et sélectionner JBoss Tools JSF et Save As Template…
  2. Ajouter l'implémentation

  3. Ajouter les préférences

    On choisit les dossiers et/ou librairies à ajouter dans le template.
  4. Choix des Templates Velocity
    JBoss tools prend en charge les template Velocity, il n'est pas obligatoire d'ajouter un fichier pour velocity, le template sera crée en cliquant sur Finish.
    Pour en savoir plus sur Velocity, consultez le site Apache Velocity
Maintenant, le template de projet est enregistré, nous pouvons l'utiliser dans la création ou l'import de nouveau projets


IV-B. Ajouter une librairie de tag

Il est possible d'ajouter d'autres librairies de tags autres que JSF et Richfaces, nous allons voir comment ajouter les librairies de Rcfaces .

  1. Ajouter les tags Rcfaces ou le jar qui les contient dans le projet
  2. Utiliser le bouton import dans la palette

  3. Sélection du fichier TLD L'assistant de création de tag nous propose de sélectionner le fichier TLD
  4. Choix des Tags L'assistant propose la liste des tags disponible, si la librairie n'est pas dans la liste, vérifier que le projet contient bien le fichier TLD, parfois, il est nécessaire de redémarrer Eclipse.
  5. Ajouter un nouveau group de librairie On ajoute la librairie à un nouveau Group créer en cochant create New Group, en cliquant sur ok, on termine l'ajout de la nouvelle librairie.
On peut également ajouter une nouvelle librairie de Tag, à l'aide d'un glisser-déposer du fichier TLD de la vue WebProjects dans la palette JBoss Tools, l'assistant apparait comme avec le bouton import.


IV-C. Créer son propre template de page

Lorsque on ajoute une nouvelle page JSP, nous pouvons utiliser un template de page existante au lieu de créer une page vide. Nous allons voire comment définir notre une page template xhtml qui utilise Facelets.

  1. Sauvegarder la page en tant que Template Pour le faire, on doit se positionner dans la vue Web Project, on click droit sur la page en question et on séléctionne Save as Template
  2. Définir le nom du template
Nous pouvons créer une page de Template dans les préférences Eclipse.

  1. Ouvrir les préférences Eclipse Windows/Preferences
  2. Séléctionner JSF Page dans la rubrique JBoss tools

  3. Séléctionner le fichier JSP Clicker sur Brows... pour séléctionner le fichier
Pour créer un nouveau fichier avec notre template de page, on choisit le template MyFaceletsPage lors de la création d'un nouvaeu fichier xhtml.


IV-D. Support de Facelets

JBoss tools propose nativement l'utilisation de Facelets, plusieurs outils sont à disposition développeur:

  1. Capacités Facelets Nous pouvons ajouter Facelets à un projet JSF en ajoutant Facelets Capabilities, pour cela:
    Clicke droit sur le projet, JBoss Tools/add custom Capabilities...

    Ensuite on choisit Facelets
  2. Assistant de création d'un projet web. L'assistant de création de projet dispose nativement d'un template pour un projet Facelets avec l'implémentation JSF
  3. Assistant de création d'une page xhtml L'assistant de création d'une page xhtml dispose nativement d'un template de page Facelets
  4. Outils de la Palette La palette JBoss Tools dispose de tous les composants Facelets
  5. Assistant de code L'assistant de code propose aussi l'aide pour l'utilisation de l'attribut jsfc ainsi que les tags de Facelets, l'assitant devrait proposer tous les tags JSF à l'interieur de jsfc comme le proposait l'ancienne version avec Exadel Studio, ce bug est en cours de correction il sera corrigé dans les prochaines versions.
  6. Editeur visuel L'editeur visuel prend en charge les Facelets et affiche la page en tenant compte des templates utilisés.


               Version hors-ligne (Miroir)

Valid XHTML 1.1!Valid CSS!

Copyright © . Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.