Struts et Tomcat en développement

01 février 2007

Si vous développez vos applications Struts en utilisant Tomcat vous serez certainement réjoui par ce post. Voici de quoi demander à Tomcat de recharger le contexte d'un webapp chaque fois que les fichiers struts-config.xml, tiles-defs.xml ou validation.xml sont modifiés.

Ajoutez un fichier nommé context.xml dans le répertoire de configuration de tomcat (je veux dire %CATALINA_BASE%/conf) avec ce contenu.

< Context reloadable="true" antijarlocking="true" antiresourcelocking="false">
	< WatchedResource>WEB-INF/web.xml< /WatchedResource>
	< WatchedResource>WEB-INF/conf/struts/struts-config.xml< /WatchedResource>
	< WatchedResource>WEB-INF/conf/struts/tiles-defs.xml< /WatchedResource>
	< WatchedResource>WEB-INF/conf/struts/validation.xml< /WatchedResource>	
< /Context>

Une application blanche Struts 1.2.8

30 janvier 2007

Lorsqu'il s'agit de démarrer une application Struts, le plus simple est encore d'avoir déjà sous la main une application Struts. Cette application existe dans la distribution de Struts - la StrutsBlankApplication. Malheureusement cette application vise les conteneurs de servlet 2.3 et les JSP 1.2.

Voici la même application raffraîchie pour les conteneurs de servlet 2.4 et les JSP 2.0.

servlet 2.4
jsp 2.0
struts 1.2.8
télécharger

Globals.LOCALE_KEY

29 janvier 2007

La question se pose souvent : comment fait-on dans un bean pour avoir une validation internationnalisée ? La réponse est moins évidente que dans une Action où la méthode getLocale() renvoie directement l'objet représentant la langue de l'utilisateur. En passant, un java.lang.Locale est un objet stockant 3 informations : la langue, le pays et la variante. Rien de bien compliqué, sauf que dans les technologies qui nous intéressent, c'est bien ici les préférences de l'utilisateur (celui qui est devant son navigateur) et non pas celles du serveur qui sont à considérer.

Bon ! dans une méthode validate(...), vous l'aurez remarqué, point de méthode vous retournant la fameuse Locale, il faut aller la chercher à la main. Voici donc l'extrait de code vous permettant de le faire :

import org.apache.struts.Globals

...

Locale locale = request.getSession()
                            .getAttribute(Globals.LOCALE_KEY);

Prévoyez la possibilité d'obtenir une référence null et donc une langue par défaut pour votre application. Et maintenant intéressez vous au framework  Validator des Jakarta Commons, vous y trouverez des classes réalisant les validations les plus communes.

Validation d'un formulaire multi-page - Application de Facturation CB

13 août 2006
Cette petite application met en pratique la validation d'un formulaire multi-page ou Wizard (assistant). Le formulaire se compose de trois pages, plus une dernière de validation des informations avant enregistrement. Tous les champs de saisie sont validés, y compris le numéro de carte de crédit qui doit satisfaire la règle d'écriture dite 'mod10' . Enfin l'application met en lumière l'internationalisation (i18n) du site. Deux langues sont gérées : français fr et anglais en.


  la suite ...

Un convertisseur MD5

13 août 2006
Lorsqu'on gère un serveur CVS ou Web, il est parfois nécessaire de crypter les mots de passe à l'aide d'un algorithme de hachage de type MD5.
Les utilitaires à employer alors sont dépendants de la plateforme sous jacente.
Voici une petite application Struts réalisant la conversion et disponible par le web.
Certainement plus pratique que de se souvenir des facilités de chaque plateforme.


  la suite ...