> Tech > Le framework Struts

Le framework Struts

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

En revenant à  notre architecture de la figure 1, nous avons de bonnes nouvelles. Assez d'applications Web de qualité ont été écrites pour qu'un socle commun ait été bâti sous la forme d'un framework intéressant comme point de départ de votre nouvelle application. Baptisé Struts, ce framework est une initiative

Le framework Struts

open-source que vous pouvez
apprendre à  http://jakarta.apache.
org/struts/index.html. Struts est
une base de construction qui encourage
et récompense une architecture
appropriée au deuxième niveau.
En revanche, elle n’a rien qui
puisse concerner le troisième niveau,
mais c’est bien ainsi car vous
savez coder en RPG et en Cobol,
n’est-ce pas ? La figure 2 montre
comment Struts influence l’architecture
que nous sommes en train
de construire.
Struts nous donne le servlet
unique, nous avons besoin, ainsi
que la classe de base pour simplifier
la création des habillages Java de la
logique de gestion, appelés Actions
in Struts. Nous obtenons aussi une
classe de base permettant de créer
des beans de formulaires, qui sont
de simples Java beans contenant les
données entrées par les utilisateurs
à  partir d’une page Web et qui
contiennent des données applicatives
pour initialiser une page Web
en sortie.
Au moment de l’exécution,
quand l’utilisateur clique sur Submit,
le servlet Struts reçoit d’abord
le contrôle, trouve le bean de formulaire
approprié pour la page
d’entrée courante, et le peuple avec
les données entrées par l’utilisateur.
Et, si vous avez ajouté la validation
au bean de formulaire, il
peut éventuellement valider les
données. Si la validation est sautée
ou satisfaite, le servlet trouve ensuite
l’Action associée à  la page
d’entrée et l’invoque, en lui transmettant
le bean de formulaire.
L’Action fait ce qu’elle doit (c’est
votre code, donc il est probablement
qu’elle invoque RPG ou Cobol sur le troisième niveau), puis elle renvoie au servlet le
nom de la prochaine JSP de sortie à  montrer. Si des données
doivent être transmises à  la page de sortie, l’Action trouvera
le bean de formulaire associé pour la JSP et le peuplera, en le
plaçant dans un endroit où la JSP pourra le trouver (techniquement,
dans l’objet de requête ou de session), avant de
rendre le contrôle au servlet. Celui-ci transmet alors simplement
le contrôle à  la JSP de sortie identifiée, laquelle procède
à  la substitution des données à  partir de son formulaire
prépeuplé, et le résultat est la page de sortie destinée à  l’utilisateur.
Après quoi, le cycle redémarre.
Comment le servlet et les Actions savent-ils quel bean de
formulaire est associé à  quelle page d’entrée et de sortie ? Ils
le savent grâce au fichier de configuration Struts (strutsconfig.
xml) dans lequel on identifie la classe de bean de formulaire
pour chaque JSP. De plus, on utilise
aussi ce fichier pour associer chaque
JSP d’entrée à  l’Action qui la traitera et
pour identifier pour chaque Action à 
quelles JSP de sortie il serait possible de
retransmettre. (Il est possible d’associer
une JSP à  de multiples Actions selon le
bouton qui a été actionné.) Chaque Action
reçoit un nom alias : c’est ce que votre
code Action renverra. Vous pouvez ainsi
montrer une page de sortie différente
sans changer le code – il suffit de changer l’Action qui est associée
à  un nom alias particulier dans le fichier de configuration.
Struts est également utile pour d’autres choses, comme
l’internationalisation et le traitement des erreurs. Pour l’internationalisation,
on a un ensemble de ressources Java (tout
simplement une table de consultation de chaînes traduites)
qui contient les chaînes traduites. Et vos JSP font référence
aux entrées de l’ensemble en utilisant des touches au lieu de
coder en dur le texte et les labels présentés sur la page. Pour
d’autres aspects de l’internationalisation, comme le formatage
de la date et de l’heure, le caractère local du navigateur
Web de l’utilisateur est
capturé et mis à  la disposition
des beans de formulaires
et du code d’action
Java afin qu’ils puissent
utiliser le support local
Java pour la localisation.
Pour le traitement des
erreurs, si une erreur est
signalée par votre code ou
par Java (comme si on
exécutait la commande
SNDPGMMSG (Send
Program Messages) sur
l’iSeries) pendant l’un des
traitements, le contrôle
est transmis à  la JSP d’erreur
globalement enregistrée, qui peut être unique pour
chaque type d’erreur. Bien entendu, elles peuvent être enregistrées
dans le fichier de configuration Struts. De plus, votre
code Action et code de validation de formulaire peuvent renvoyer
des instances d’une classe Error pour indiquer que les
erreurs doivent être montrées à  l’utilisateur. Pour les montrer,
un tag d’erreur spécial est disponible pour vos JSP.
En plus de toute cette assistance, pour favoriser un modèle
MVC où la réponse de la logique de gestion à  la requête
de chaque page ou bouton est encapsulée dans une Action,
Struts est aussi accompagné de quelques bibliothèques de
tags, utilisables dans vos JSP. Bien qu’elles ne soient pas toujours
nécessaires ou utiles, sachez qu’elles existent. Nous
verrons que pour des développeurs iSeries, nous fournissons
un autre jeu de tags conçus pour tirer parti de vos compétences
en SDA.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis d'experts et témoignages clients et ainsi, retrouvez les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et collaboration, Impression et capture et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010