Autres fonctionnalités



L’internationalisation dans Struts


Struts offre la possibilité d’internationaliser ses applications, c'est-à-dire d’adapter la langue utilisée dans l’interface (français, anglais…).

Le fonctionnement reste classique, on a donc des fichiers de ressources comprenant une liste de clés et leur valeur associée. On dispose alors d’une ressource par défaut puis une série d’autres fichiers (pour les autres langues) dont le nom respecte le code ISO du langage.

Ainsi, si le fichier par défaut (correspondant au français par exemple) s’appelle ‘MyLangue.properties’, le fichier pour l’Italien sera alors nommé : ‘MyLangue_it.properties’

Voici un exemple de fichier de ressource :

Pour le français :


	index.title = Connexion de l'utilisateur
	index.username = Nom d'utilisateur
	index.password = Mot de passe
	
Pour l’anglais :

	index.title = User Connexion
	index.username = User name
	index.password = Password
	
Pour utiliser les informations de ces fichiers dans les pages JSP, il suffit d’utiliser ensuite la balise ‘bean:message’ proposée par Struts. Ainsi pour afficher la valeur de la clé ‘index.username’, il suffit d’inclure le tag suivant dans la pages JSP.


	<bean:message key="index.username" />
	
Cette ligne sera automatiquement remplacée par la valeur de la clé du fichier de langue correspondant (selon la langue choisie dans le navigateur).

retour au sommaire

Les Plugins


Struts propose au développeur d’implémenter des plugins. Ces derniers sont principalement utilisés pour initialiser les ressource (il peut s’agir des modèles…).

Il est donc possible d’implémenter ses propres plugins en étendant de la classe Plugin.

Ce composant définie deux méthodes :

    - init (appelée au démarrage de l’application)
    - destroy (appelée à la fermeture de l’application)

Tout comme les ActionForm ou les Action, les Plugin doivent être déclarés dans le fichier de configuration XML à l’aide des lignes suivantes placées à la fin du fichier :


	<plug-in className="myPackage.MyPlugin" />
	
Au démarrage de l’application les Plugin déclarés dans le fichier ‘Struts-config.xml’ seront donc instanciés et leur méthode ‘init’ appelée. En outre, les arguments passés en paramètre de cette méthode permettent d’accéder à la servlet, et à ses composants (ServletContext…)

retour au sommaire

Les Exceptions


Struts propose également son propre mécanisme d’exceptions pour traiter les erreurs. Pour cela, Struts fourni 2 classes :

    - ActionMessage : correspond à un message d’erreur.
    - ActionErrors : représente une liste d’erreurs.

Le traitement des erreurs fonctionne avec les fichiers de ressources que nous avons vu précédemment (pour l’internationalisation).

En effet, la classe ActionMessage est instanciée à partir d’une clé dont la valeur dans le fichier de ressources correspond au message d’erreur. De plus, il est possible de préciser dans le constructeur de 1 à 4 objets supplémentaires qui peuvent être intégrés dans le message d’erreur.

    Ex : ActionMessage myError = new ActionMessage(‘erreur’, ‘mot1’, mot2’) ;

Avec la clé suivante dans le fichier de langue :

    erreur = nouvelle erreur de type {1} venant de {0}

Le message d’erreur affiché par l’objet myError sera donc :

    "nouvelle erreur de type mot2 venant de mot1".

Il est donc possible de créer des messages dynamiques.

La gestion des exceptions dans Struts s’effectue au niveau des ActionForm qui définissent une méthode ‘validate’ renvoyant un objet de type ActionErrors.

L’appel à la méthode ‘validate’ est précisé dans le fichier de configuration XML et si l’objet retournée n’est pas nul, l’ActionServlet nous redirige automatiquement vers la page prévue à cet effet (donnée par l’attribut ‘input’ de l’action dans le fichier de configuration).

Enfin, pour afficher les erreurs dans la page JSP, il suffit d’utiliser le tag de Struts. Ce dernier sera alors automatiquement remplacé par le message d’erreur si une exception se produit.

retour au sommaire



Page précédente    Page suivante