IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)



Comment afficher un message d'erreur avec Struts ?
auteur : Lionel Roux (aka RanDomX)
Pour insérer un message d'erreur sur vos page, il suffit de positionner le tag <html :errors/>.
Ensuite pour alimenter ce tag, vous devez créer un ActionError en lui passant en paramètre soit la clé du message d'erreur contenu dans un bundle, soit le message directement.

ActionError ae = new ActionError("foo.bar.myKey");
Une fois que vous avez construit tous vos ActionError, vous devez les ajouter à un ActionErrors . C'est cet objet qui sera retourné.

ActionErrors errors = new ActionErrors(); errors.add(ActionErrors.GLOBAL_ERROR, ae); .. return errors;

Comment afficher un message d'erreur simple et totalement dynamique ?
auteur : Lionel Roux (aka RanDomX)
Pour un message simple et dynamique, on crée l'ActionError de la manière suivante :
Dans le ResourceBundle on a une clé comme ceci:

error.dynamic={0}
Dans l'ActionForm, on remplie l'ActionError:

.. ..new ActionError("error.dynamic", "This_is_my_message"); ..
Le résultat sera le suivant:

This_is_my_message.

Comment afficher un message d'erreur simple référencé dans le ResourceBundle ?
auteur : Lionel Roux (aka RanDomX)
Pour un message simple dont le texte est contenu dans le ResourceBundle, on crée l'ActionError de la manière suivante :
Dans le resource bundle, on a une clé comme ceci:

error.myerror.foo.bar=This is my message from bundle
Dans l'ActionForm, on remplie l'ActionError:

.. new ActionError("error.myerror.foo.bar"); ..
Le résultat sera le suivant:

This is my message from bundle.

Comment afficher un message d'erreur personalisé référencé dans le ResourceBunble ?
auteur : Lionel Roux (aka RanDomX)
Pour un message personalisable dont le texte est contenu dans le ResourceBundle, on crée l'ActionError de la manière suivante :
Dans le ResourceBundle, on a une clé comme ceci:

error.myerror.foo.bar.custom=This is my {0} message from bundle
Dans l'ActionForm, on remplie l'ActionError:

.. .. ae1 = new ActionError("error.myerror.foo.bar.custom", "custom"); .. ae2 = new ActionError("error.myerror.foo.bar.custom", "own"); ..
Le résultat sera le suivant:

This is my custom message from bundle. This is my own message from bundle.
De la même manière, on peut imaginer toutes sortes de compositions :

error.myerror.foo.bar.custom.comp=This is my {0} message from bundle: {1}
avec la construction suivante :

.. new ActionError("error.myerror.foo.bar.custom.comp", "custom", "hello you"); ..
pour l'affichage suivant :

This is my custom message from bundle: hello you
Ceci peut être fait dans la limite de 3 éléments configurables.