Exemple de zone de texte Struts
Téléchargez cet exemple de zone de texte Struts -Struts-TextBox-Example.zip
Dans cet exemple Struts, vous apprendrez à créer un champ de saisie de zone de texte HTML avec la balise Struts<html:text>, à valider la zone de texte avecActionForm, à afficher le message d'erreur avecActionErrors, et aussi ressource de message dans la page JSP.
1. Structure des dossiers
Il s'agit de la structure finale du projet créée par Maven. Veuillez créer les dossiers correspondants.
2. Classe d'action
Créez une classe Action, ne faites que transmettre la demande.
UserAction.java
package com.example.common.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class UserAction extends Action{ public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception { return mapping.findForward("success"); } }
3. Fichier de propriétés
Créez un fichier de propriétés et déclarez les messages d'erreur et d'étiquette.
Common.properties
#common module error message error.common.name.required = Name is required. #common module label message label.common.name = UserName label.common.button.submit = Submit label.common.button.reset = Reset
4. ActionForm
Créez un ActionForm, acceptez un nom d'utilisateur et validez-le dans la méthode validate (). Si le nom d'utilisateur est vide, obtenez un message d'erreur dans le fichier de propriétés ci-dessus, et ajoutez-le comme clé «common.name.err» dans ActionErrors, plus tard utilisera ce nom «common.name.err» pour afficher le message d'erreur dans JSP .
UserForm.java
package com.example.common.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; public class UserForm extends ActionForm{ String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if( getUsername() == null || ("".equals(getUsername()))) { errors.add("common.name.err", new ActionMessage("error.common.name.required")); } return errors; } @Override public void reset(ActionMapping mapping, HttpServletRequest request) { // reset properties username = ""; } }
5. Page JSP
Utilisez la balise HTML<html:text> de Struts pour créer un champ de saisie de zone de texte HTML. Le message d'étiquette est déclaré dans le fichier de propriétés ci-dessus, vous pouvez l'obtenir via<bean:message key=”label_name” /> directement.
Le message d'erreur peut s'afficher de deux manières:
-
Afficher tous les messages d'erreur
-
Affichez le message d'erreur spécifié en spécifiant la clé de message d'erreur déclarée dans ActionErrors.
login.jsp
Struts html:text example
:
Afficher l'entrée de la zone de texte.
welcome.jsp
Welcome
6. struts-config.xml
Créez un fichier de configuration Struts et liez-les tous ensemble.
Dans les attributs de balise d'action:
-
path = chemin web auquel vous accédez
-
type = votre classe d'action
-
nom = votre formulaire d'action
-
validate = true entraînera ActionForm à valider () la méthode pour la validation du formulaire
-
entrée = si la validation est fausse, où transmettre?
Vous devez inclure votre fichier de propriétés dans le fichierstruts-config.xml pour informer Struts de votre message de ressource personnalisé.
7. web.xml
Dernière étape, créez un web.xml pour l'intégration du framework Strut.
Maven Struts Examples action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml 1 action *.do
Y accéder
Si l'utilisateur n'a pas rempli la zone de texte et appuyé sur le bouton Soumettre, il affichera un message d'erreur.
Si l'utilisateur remplit la zone de texte et appuie sur le bouton Soumettre.
Il transmettra la valeur d'entrée de la zone de texte à la page d'accueil et l'affichera.