Bonjour,
J'ai une deuxième question sur Struts. Quand un champ d'un formulaire est de type entier, Struts 2 fait une conversion automatique de la chaine de caractères tapée par l'utilisateur vers un entier. Si l'utilisateur fait une erreur et que le texte tapé n'est pas un entier, une exception MethodFailedException est écrite dans le log. La raison en est que Struts 2 ne trouve pas de setter de type String pour ce champ dans l'action.
Par exemple, admettons que le champ positveInteger du formulaire géré par l'action RecordFormAction soit un entier, mais que l'utilisateur ait tapé "azerty". L'erreur suivante apparaîtra dans le log:
ognl.MethodFailedException: Method "setPositiveInteger" failed for object crud.action.RecordFormAction@70daeb2d [java.lang.NoSuchMethodException: crud.action.RecordFormAction.setPositiveInteger([Ljava.lang.String;)]
Bien sûr, il n'y a pas de méthode setPositiveInteger(String) dans RecordFormAction, il y a en revanche une méthode setPositiveInteger(Integer).
Comment empêcher Struts 2 d'écrire une exception dans le journal à chaque erreur de saisie de l'utilisateur?
Partager