Maison >Java >javaDidacticiel >Comment Struts2 gère-t-il les erreurs de conversion et de validation lors du traitement des formulaires ?
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.
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.
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 :
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.
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!