Tutoriel struts1 N°6 : validation de formulaire struts

/////Tutoriel struts1 N°6 : validation de formulaire struts

promo_formation_struts_objis_meilleures_pratiques.pngMaîtrisez la validation de formulaires struts. Comprenez la différence entre validation coté serveur et validation coté client. Mettez en oeuvre le plugin Validator.

Ce tutoriel vous est offert par Objis, le spécialiste de la formation Objis.

Suite à nos 10 tutoriaux struts1, consolidez vos compétences struts avec notre formation struts1 meilleures pratiques qui abordera également pàs à pas les thèmes suivants : migration struts1 vers struts2 et intégration de struts avec d’autres frameworks et outils : Spring, Hibernate, TopLik, iBatis, EJB3, Web Services, velocity, XDoclet…

Les + objis

 70% de travaux pratiques

 Clé USB avec tous les outils utilisés + Corrigés TPs

 Bilan pédagogique individuel + conseils
telechargement_pdf_plan_cours.gif

Liens utiles

 + de 100 tutoriaux java/jee Objis

 10 tutoriaux Struts 1 Objis

 Objis, spécialiste formation java depuis 2005

 Tutoriel DynaValidationForm

Prérequis

 Téléchargement Eclipse Entreprise

 Installation Tomcat 6

 Intégration Tomcat 6 dans Eclipse wtp

 Déploiement struts-blank (1.3.10) dans eclipse
telechargement_pdf_bulletin_inscription.gif

 FAQ struts developpez.com

Objectifs

 Rappeller bonnes pratiques (démarrage projet, balises html:)

 Valider un formulaire coté serveur à travers méthode validate du beanForm

 Valider un formulaire coté client avec le plugin validator

Programme

 Partie 1 : création projet eclipse

 Partie 2 : personalisation de la page d’accueil

 Partie 3 : création du formulaire de demande de formation

 Partie 4 : validation coté serveur

 Partie 5 : validation coté client.

Durée

 1h

Partie 1 : création projet ‘demostrutsvalidation’

Une bonne pratique de développement struts est de commencer tout projet struts par le squellette d’application struts-blank livré avec Struts.Le point de départ de ce tutoriel est donc un projet ‘demostrutsvalidation’ eclipse avec tomcat intégré et struts-blank déployé.
tutoriel validation etape initiale

INFO : Le tutoriel spring1 N°2 Déploiement struts-blank dans eclipse détaille cette opération.

La page d’accueil de l’application est alors la suivante.

tutoriel_struts1_objis_validation_1.png

Partie 2 : Modification de la page d’accueil

 Modifier les 3 messages de la page d’accueil, présents dans le fichier MessageRessources.properties

tutoriel_struts1_objis_validation_2.png

Vous obtenez un début de personalisation

tutoriel_struts1_objis_validation_3.png

Ajoutez nouveaux texte et images :

tutoriel_struts1_objis_validation_4.png

RAPPEL bonnes pratiques :

— mettez vos textes dans les fichiers de message et non dans les JSP en dur

— utilisez la balise struts html:base pour permettre de faire des références relatives et avoir un code portable

— utilisez la balise struts html:img au lieu de la balise img pour bénéficier de l’UrlRewriting et maintien de session

— utiliser la balise struts html:link au lieu de a href

Partie 3 : Création du formulaire de demande de formation

Dans cette partie nous allons créer le formulaire suivant :

tutoriel_struts1_objis_validation_13.png

JSP

tutoriel_struts1_objis_validation_17.png

Messages

tutoriel_struts1_objis_validation_16.png

Bean formulaire : DemandeFormationForm

Création

 Dans un package com.objis.demostruts, créez la classe DemandeFormationForm héritant de la classe struts ActionForm

tutoriel_struts1_objis_validation_5.png

Codage

 Ajoutez des propriété dont les noms coïncident exactement avec les nom des champs du formulaire.
Créer des methodes getters/Setters pour chaque propriétés(Eclipse Menu source->generate Getters & Seters )

tutoriel_struts1_objis_validation_6.png

REMARQUE : la méthode setAudit(« oui ») placée dans le constructeur permettra d’affecter un choix par défaut à ‘oui’ pour le bouton radio du formulaire.

Configuration dans struts-config

tutoriel_struts1_objis_validation_7.png

Action : DemandeFormationAction

Création & Codage

tutoriel_struts1_objis_validation_8.png

Configuration

tutoriel_struts1_objis_validation_9.png

Partie 4 : Validation coté serveur

Principe

Après appui sur le bouton ‘valider’, les informations du formulaire sont envoyées au serveur. Le serveur vérifie si les champs sont valides (méthode validate de l’actionForm). En cas d’erreur sur un champ, le serveur crée un objet ActionMessage, ajoute cet objet dans un objets ActionErrors, que le client JSP peut exploiter de différentes façon, la plus simple etant une ancre html:errors quelque part dans la page.

tutoriel_struts1_objis_validation_15.png

Redéfinition méthode validate de l’Action

 Redéfinnissez la méthode validate() du formbean

tutoriel_struts1_objis_validation_10.png

tutoriel_struts1_objis_validation_11.png

 Codez cette methode de façon à tester que l’utilisateur a bien remplit tous les champs.

tutoriel_struts1_objis_validation_12.png

balise ancre erreurs dans le jsp

Ici placée entre les 2 images

tutoriel_struts1_objis_validation_18.png

C’est là que seront affichés les messages d’erreurs, et dans un formatage définit dans le fichier de propriétés MessageResources.properties (les premières ligne non commentées):

tutoriel_struts1_objis_validation_19.png

Dans cette partie vous avez mis en oeuvre une validation coté serveur, implique un aller-retour entre le client et le serveur.

Si le client accepte Javascript, une autre forme de validation gagne à être mise en oeuvre car n’utilisant pas de bande passante : la validation coté client avec le plugin Validator.

Partie 5 : Validation coté client

Principe

A travers une validation coté client, vous générez à la volée un code html+javascript qui permet de valider les champs sans aucun Aller/Retour serveur

tutoriel_struts1_objis_validation_24.png

Méthodologie : Validation client en 5 étapes

tutoriel_struts1_objis_validation_25.png

ETAPE 1 : brancher et comprendre plugin validator

Il est déja configuré dans struts-blank de la version 1.3.x. , à travers les balises suivantes qui se trouvent tout en bas du fichier struts-config.xml :
tutoriel_struts1_objis_validation_20.png

2 fichiers de configuration y sont précisés. En particulier, lors du déploiement de struts-blank on remarque que 2 fichiers sont concernés :

— un fichier validation-rules interne à struts (dans le jar struts.jar). Ce fichier liste plusieurs classes java qui savent générer du javascript en fonction d’une règle (Ex required : champ requis).

tutoriel_struts1_objis_validation_21.png

— un fichier WEB-INFvalidation.xml initialisé dans lequel vous allez informer struts dans formulaires, champs et règles à appliquer.

ETAPE 2 : messages d’erreur

Certains sont déja prêt dans le MessageResources.properties. Vous pouvez personaliser, par exemple ici pour les champs que nous imposerons comme requis (required).

tutoriel_struts1_objis_validation_22.png

 

ETAPE 3 : règles de validation

Dans le fichier validation.xml ajouter les règles. Exemple : required’

tutoriel_struts1_objis_validation_27.png

ATTENTION à configurer pour le bon ‘locale’ et bien spécifier le nom du bean formulaire dans la balise html:javascript de la jsp sinon vous vous exposez à des erreurs du type :

INFO : Il pourra être necessaire d’avoir un fichier de configuration adapté à la langue (Ex : MessageResources_fr.properties). Tenez compte des messages de WARNING de Tomcat dans ce sens.

tutoriel_struts1_objis_validation_23.png

 
ETAPE 4 : inclusion balise html:javascript dans la jsp

tutoriel_struts1_objis_validation_28.png

Config de l’action

tutoriel_struts1_objis_validation_30.png

ETAPE 5 : evenement onsubmit du formulaire

tutoriel_struts1_objis_validation_29.png

ça y est vous avez terminé la configuration.

Aperçu projet eclipse

tutoriel_struts1_objis_validation_26.png

projet corrigé

correction tutoriel6 struts1 objis validation client serveur

Conclusion

Dans ce tutoriel, vous avez développé mis en œuvre une stratégie de validation de formulaires avec struts1.

Vous avez compris la différence entre validation coté serveur (méthode validate() du formBean ) et la validation coté client (plugin Validator) et les techniques de mise en œuvre de ces deux types de validation.

Prochaine formation STRUTS1

Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur Struts 1:

promo_formation_struts_objis_meilleures_pratiques.png

Pour aller plus loin : le réseau Objis

Si vous appréciez notre sens du partage, devenez gratuitement membre ‘classic’ du Club Objis :

 Votez pour les prochains tutoriaux à publier

 Préparez vos entretiens techniques

 Valorisez votre profil / expertise

 Identifiez des opportunités d’emploi

 Recevez la newsletter objis.com

2018-01-30T08:40:52+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java