Voici un: //struts.apache.org/1.3.5/struts-taglib/apidocs/org/apache/struts/taglib/html/package-summary.html#package_description
Ici je m en supposant Struts 1. Je ne sais pas si elle a changé pour Struts 2.
Vous pouvez mettre un errors.header et errors.footer dans votre fichier de ressources de message:
errors.header=<h3><font color="red">Errors:</font></h3><ul>
errors.footer=</ul>
L'en-tête et pied de page sont affichés uniquement si l'objet ActionErrors contient des erreurs.
Dans votre classe d'action, faites ceci:
ActionErrors errors = new ActionErrors();
if (badInput) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("error.bad.input", badString); // key in messages resource file
// badString will replace {0} in message
}
Puis avant de retourner:
saveErrors(request, errors);
dans vos messages fichier de ressources:
error.bad.input=<li>Bad input: '{0}' is invalid.</li>
Maintenant, lorsque l'étiquette <html:errors/>
est traitée , il deviendra:
<h3><font color="red">Errors:</font></h3><ul>
<li>Bad input: 'xxyyzzz' is invalid.<li>
</ul>
Merci! Après des heures de travail, j'ai enfin pu valider ma forme. Au final, je préfère valider dans le bean au lieu de l'action et utiliser le validation.xml (pour la minlenght, required, etc.) et la validation de la base de données (l'utilisateur existe, le mot de passe est correct ...). La seule chose que je devais changer était l'utilisation de « .add (String, ActionError) » de ActionErrors parce est dépréciée (Struts 1.2.x) et utilisé « .add (String, ActionMessage) » qui est essencially même. Encore une fois, merci beaucoup pour vos réponses! – Tere
@Mark Lutton: si le formulaire a été créé à partir d'une autre action (par exemple, les étiquettes/valeurs de certains boutons radio ont été récupérées d'un DB et mises dans la requête), comment les boutons radio peuvent-ils être affichés avec l'erreur dans le cas où un bouton radio doit être sélectionné)? Je n'arrive pas à les afficher, quand je soumets le formulaire (seule l'erreur est imprimée). – Sefran2