Comprenez la première facette de la relation OGNL/Struts 2. Maîtrisez les techniques de transfer de données de la requête vers vos actions struts 2 . Comprenez la zone mémoire ValueStack.
Objis, spécialiste de la formation Java, est heureux de vous offrir ce
tutoriel, extrait de séances pratiques de la formation Struts 2 dispensée par Objis.
Les + objis
70% de travaux pratiques
Clé USB avec tous les outils utilisés + Corrigés TPs
Bilan pédagogique individuel + conseils
Liens utiles
Documentation Struts 2
API Struts 2
Prérequis, outils et versions
JDK 6
Struts 2.3.1.2
Eclipse JEE Indigo
Tomcat 7
Objectifs
Comprende la ValueStack
Comprende le langage OGNL
Comprendre la conversion de types simples
Comprendre la conversion de types complexes.
Programme
Partie 1 : Transfer de données
Partie 2 : conversion de types
Durée
2h.
Rappel : Architecture Struts 2
Expliquez.
Partie 1 : analyse projet eclipse initial
Téléchargez le projet eclipse suivant :
Importez le dans Eclipse :
Analyse architecture
Expliquez l’architecture en couche mise en oeuvre :
— -> couche d’accès aux données (DAO) dans package com.objis.demostruts2.dao
— -> couche service dans package com.objis.demostruts2.service
Expliquez la valeur ajoutée des interfaces IManager (couche service) et IDao (couche Dao)
Montrez que le design pattern ‘Business Delegate’ est mis en oeuvre entre la couche Service et la couche Dao
Mettez en évidence une mauvaise pratique d’architecture : couplage fort entre couche Service et couche Dao. Citez au moins 2 inconvénients.
Quelle serait une solution à ce couplage fort ?
Analyse de l’Action principale
Mettez en évidence une mauvaise pratique d’architecture : couplage fort entre notre action et les couches Service / Dao . Citez au moins 2 inconvénients.
Quelle serait une solution à ce couplage fort ?
Que peuvent apporter les technologies suivantes à ce problème :
— > Spring
— > Google Guice
— > Weld (implémentation de la JSR 299 – Context & Dependency Injection (CDI)
Notez la ‘seule’ propriété privée de l’action : la classe Utilisateur, via la variable ‘user’
Transfer de donnée Requête / Action / Réponse
Expliquez la relation entre la proviété ‘user’ de l’action , et les deux écrans suivants :
— > Le formulaire
— -> la réponse suite à l’envoi du formulaire en traitement.
Quel rôle joue le langage OGNL dans cette relation ? Quel rôle joue la ValueStack ?
Montrez qu’il existe des convertisseurs interne permettant ici de transformer une chaine en une Date, et une chaîne de caractère en un Double.
Partie 1 : transfer de données
Expliquez le schéma suivant :
Partie 2 : conversion de types
A vous de jouer. Utilisé la conversion automatique de type pour remplir avec un formulaire et afficher dans un vue des propriétés de type int, boolean, Date, List…