Maison >Java >javaDidacticiel >Comment Struts2 gère-t-il les erreurs de conversion et de validation lors du traitement des formulaires ?

Comment Struts2 gère-t-il les erreurs de conversion et de validation lors du traitement des formulaires ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-18 22:34:11598parcourir

How Does Struts2 Handle Conversion and Validation Errors in Form Processing?

Gestion des résultats d'entrée dans Struts2

Erreurs de conversion et de validation dans INPUT Result

Struts2 gère automatiquement les erreurs de conversion et de validation rencontrées lors du traitement du formulaire. Lorsqu'une erreur se produit, il renvoie un résultat INPUT au lieu de déclencher une exception. Cela permet aux utilisateurs de corriger les erreurs de saisie sans interrompre le flux de l'application.

Erreurs de conversion

Parameters Interceptor gère la conversion des paramètres de formulaire vers les types de données appropriés (par exemple, String en entier). Si la conversion échoue, elle ajoute une erreur de champ à la carte conversionErrors d'ActionContext.

Erreurs de validation

Validation Interceptor exécute les règles de validation définies pour l'action. Si un critère de validation échoue, il ajoute des erreurs de champ à la carte fieldErrors d'ActionContext.

Workflow de gestion des erreurs

Après la conversion et la validation, l'intercepteur de flux de travail vérifie la présence d'erreurs de champ. Si des erreurs sont trouvées, il renvoie un résultat INPUT. Ce résultat inclut automatiquement les messages d'erreur et les valeurs d'origine soumises par l'utilisateur, garantissant que l'utilisateur peut visualiser les erreurs et corriger sa saisie.

Configuration

Pour activer la gestion automatique des erreurs, assurez-vous que le les intercepteurs suivants sont inclus dans la pile personnalisée dans le bon ordre :

  • Params Interceptor
  • ConversionError Intercepteur
  • Intercepteur de validation
  • Intercepteur de workflow

Pourquoi les nombres sont affichés comme zéro

Si un utilisateur saisit un caractère alphabétique dans un champ de formulaire qui est défini comme un entier, le framework renvoie zéro lors de la récupération de la valeur. Cela se produit car la méthode Getter renvoie la valeur par défaut d'un entier (0) car elle ne peut pas définir une chaîne dans un champ int.

Gestion des exceptions

Struts2 ne déclenche pas d'exception pour la conversion ou erreurs de validation puisqu’elles sont considérées comme des erreurs de saisie. Au lieu de cela, il renvoie un résultat INPUT et ajoute des messages d'erreur à la carte des erreurs de champ que l'utilisateur doit traiter.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn