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

Développer une application Struts à l'aide de NetBeans


précédentsommairesuivant

I. Première partie

L'EDI NetBeans 5.0 simplifie Struts. En ne cochant qu'une seule case dans l'assistant New Web Application, toutes les bibliothèques Struts sont ajoutées à votre projet. De plus, vous aurez également le fichier magique struts-config.xml, où vous enregistrez toutes les fonctionnalités de Struts sur lesquelles vous travaillez. Des assistants sont également fournis, pour la création de deux catégories de classes Struts – actionform beans et les actions. Des assistants sont également accessibles depuis le fichier struts-config.xml, pour la génération du code utilisé pour enregistrer les fonctionnalités de Struts.

Voici une procédure toute simple permettant la création d'une application Struts dans l'EDI NetBeans 5.0. Vous utiliserez le framework Struts pour créer une très simple page d'identification :

page d'identification
écran d'identification

Tout le traitement sera fait par Struts (vous découvrirez ce en quoi consiste le traitement dans les étapes décrites ci-dessous). Vous n'allez pas apprendre beaucoup conceptuellement, mais à travers les étapes qui suivent ci-dessous, vous allez vous familiariser avec le framework Struts et la façon dont le support pour le framework a été implémenté dans l'EDI NetBeans 5.0.

I-A. Configuration du projet

Cliquez sur Maj-Ctrl-N. Dans la catégorie Web, choisissez Web Application, et cliquez sur Next. Appelez-la MyVideoStoreApplication. Cliquez sur Next. Sélectionnez Struts 1.2.7 et cliquez sur Add Struts TLD. Cliquez sur Finish.

Voici ce que vous devriez voir, avec le fichier le plus important (le fichier struts-config.xml) sélectionné :

Structure du Projet sous NetBeans
Structure du Projet

I-B. Création des Pages JSP

Cliquez droit sur le nœud du projet MyVideoStoreApplication, choisissez New > JSP et appelez-la loginForm. Cliquez sur Finish. Créez une autre page JSP et appelez-la loginSuccessful. Dans l'Éditeur de Source, remplacez le contenu des tags H1 dans les deux nouveaux fichiers JSP par quelque chose de plus parlant. Par exemple, modifier le texte JSP Page en Login Form et Login Successful! respectivement. Faites de même pour le texte dans les tags TITLE.

Copiez maintenant les deux premières directives du fichier welcomeStruts.jsp en haut de votre nouvelle page loginForm.jsp. Dans loginForm.jsp, en dessous des tags H1, ajoutez ce qui suit :

 
Sélectionnez
<html:form action="login">
   <html:submit value="Login" />
</html:form>

Il est facile de deviner que tout ce qui se trouve entre les tags html:form est géré par Struts. Notez que tout en tapant, l'EDI vous aide en suggérant différentes façons de compléter le code que vous tapez. Vous avez également accès à la Javadoc Struts.

Visualise Code Completion & Javadoc des tags Struts
Code Completion et Javadoc des tags Struts

Dans la Palette de Composant, à droite de l'Éditeur de Source, étendez la section HTML et déposez l'élément Table juste au-dessus de la ligne

 
Sélectionnez
<html:submit value="Login" />

La boite de dialogue Insert Table apparait. Assurez-vous que les valeurs de Rows et Columns sont bien sur 1, pour qu'il crée un tableau d'une ligne et une colonne. Cliquez sur OK. Entre les tags TH, introduisez ce qui suit :

 
Sélectionnez
<bean:message key="login.name" />

Entre les tags TD, introduisez ce qui suit :

 
Sélectionnez
<html:text property="name" />

Ajoutez login.name comme clef au fichier ApplicationResource.properties et ajoutez un message explication. Par exemple :

 
Sélectionnez
login.name=Name

Le corps de LoginForm.jsp contient maintenant :

Corps de LoginForm.jsp
Corps de LoginForm.jsp

I-C. Création du Bean Struts ActionForm

Cliquez droit sur le nœud du projet MyVideostoreApplication et choisissez New > File/Folder. Dans la catégorie Web, choisissez le Bean Struts ActionForm et cliquez sur Next. Sélectionnez com.myapp.struts dans la liste déroulante des package et pressez Finish. Le bean actionform s'ouvre dans l'Éditeur de Source. Ouvrez struts-config.xml dans l'Éditeur de Source et notez qu'il contient, parmi d'autres choses, ce qui suit :

 
Sélectionnez
<form-beans>
    <form-bean name="NewStrutsActionForm" type="com.myapp.struts.NewStrutsActionForm"/>
</form-beans>

Naviguez maintenant jusque dans le bean actionform dans l'Éditeur de Source et jetez un œil à la méthode validate. Notez qu'un champ nommé name est validé par défaut. Si la validation échoue, ce qui se produit lorsqu'aucun nom n'est introduit dans la page JPS, un message qui est identifié par error.name.required est retourné. Ajoutez error.name.required comme clef dans le fichier ApplicationResource.properties, et ajoutez un message significatif. Par exemple :

 
Sélectionnez
error.name.required=Enter a name, banana brain!

Ajoutez maintenant ce qui suit dans le fichier loginForm.jsp, juste au-dessus du tag de clôture </html:form> :

 
Sélectionnez
<html:errors />

I-D. Création de l'Action Struts

Cliquez droit sur le nœud du projet MyVideoStoreApplication et choisissez New > File/Folder. Dans la catégorie Web, choisissez l'Action Struts et cliquez sur Next. Sélectionnez com.myapp.struts dans la liste déroulante des packages. Introduisez login dans l'Action Path (le contenu de l'Action Path est donc maintenant /login).Cliquez sur Next. Remarquez que l'EDI suggère que vous associez l'action avec le bean actionform créé dans l'étape précédente. Dans Input Resource, sélectionnez votre page loginForm.jsp. Cliquez sur Finish.

Notez que maintenant, struts-config.xml contient, parmi d'autres choses, ce qui suit :

 
Sélectionnez
<action-mappings>
   <action input="/loginForm.jsp" 
            name="NewStrutsActionForm" 
            path="/login" 
           scope="session" 
            type="com.myapp.struts.NewStrutsAction"/>
   <action path="/Welcome" 
        forward="/welcomeStruts.jsp"/>
</action-mappings>

Naviguez jusqu'à l'action et jetez un œil à la méthode execute. Notez que cette action redirige vers la vue résultante appelée success. Vous avez besoin de définir la page loginsuccessfil.jsp comme étant la vue résultante. Ouvrez struts-config.xml dans l'Éditeur de Source, cliquez droit n'importe où et choisissez Struts > Add forward. Introduisez success dans Forward Name. Naviguez jusqu'à la page loginSuccessful.jsp dans Resource File. Cliquez sur Action. Choisissez /login depuis la liste déroulante. Cliquez sur Add. Notez que le fichier struts-config.xml devrait maintenant être semblable à ceci :

 
Sélectionnez
<action-mappings>
  <action input="/loginForm.jsp" 
           name="NewStrutsActionForm" 
           path="/login" 
          scope="session" 
           type="com.myapp.struts.NewStrutsAction">
       <forward name="success" 
                path="/loginSuccessful.jsp"/>
  </action>
  <action path="/Welcome" 
       forward="/welcomeStruts.jsp"/>
</action-mappings>

I-E. Exécution du Projet

Cliquez droit sur le nœud du projet MyVideoStoreApplication et choisissez Run Project. Le projet déploie et affiche la page loginForm.jsp. Vous devriez voir quelque chose de semblable à ceci :

LoginForm avec message d'erreur pour le nom
LoginForm

Lorsque vous introduisez un nom (ou n'importe quoi d'autre, pour autant que ce soit quelque chose), loginSuccessful.jsp est affiché. Une chose intéressante à faire à ce moment est de revenir dans le fichier ApplicationResource.properties. Modifiez les quatre premières clefs par ceci :

 
Sélectionnez
errors.header=
errors.prefix=<span style="color: red">
errors.suffix=
errors.footer=

Déployez à nouveau l'application. Si la page loginSuccessful.jsp s'affiche, et que vous ne le désirez pas, modifier l'attribut scope du chemin /login dans struts-config.xml en request au lieu de session. Déployez à nouveau et notez que le message d'erreur a été reformaté.

LoginForm avec message d'erreur affiché en rouge
LoginForm avec message d'erreur

Dans un futur tutoriel, je vais étendre ce scénario pour qu'il fournisse plus de fonctionnalités et qu'il devienne une page de login plus utile.


précédentsommairesuivant

Copyright © 2006 Vincent Brabant. 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.