Exemple de zone de texte Spring MVC
Dans Spring MVC, vous pouvez utiliser la balise<form:input /> pour afficher un champ de zone de texte HTML. Par exemple,
Il rend le code HTML suivant
Dans ce didacticiel, nous vous montrons comment utiliser la balise de formulaire de Spring «input» àrender a HTML textbox pour stocker les «userName». En outre, ajoutez un validateur de vérification vide pour vous assurer que la valeur de la zone de texte n'est pas vide.
1. Manette
UnSimpleFormController pour gérer la valeur du formulaire et lier la valeur du formulaire à l'objet Client.
Fichier: TextBoxController.java
package com.example.customer.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import com.example.customer.model.Customer;
public class TextBoxController extends SimpleFormController{
public TextBoxController(){
setCommandClass(Customer.class);
setCommandName("customerForm");
}
@Override
protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
Customer customer = (Customer)command;
return new ModelAndView("CustomerSuccess","customer",customer);
}
}
2. Modèle
Un objet Client pour stocker la valeur de la zone de texte.
Fichier: Customer.java
package com.example.customer.model;
public class Customer{
String userName;
//getter and setter methods
}
3. Validateur de formulaire
Créez une classe de validateur de formulaire et utilisez la classeValidationUtils pour vous assurer que «userName» n'est pas vide. Sinon, récupérez le message «required.userName» du bundle de ressources correspondant (fichier de propriétés).
Fichier: CustomerValidator.java
package com.example.customer.validator;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import com.example.customer.model.Customer;
public class CustomerValidator implements Validator{
@Override
public boolean supports(Class clazz) {
//just validate the Customer instances
return Customer.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName",
"required.userName", "Field name is required.");
}
}
Fichier: message.properties
required.userName = username is required!
4. View
Une page JSP pour utiliser la balise de formulaire de Spring «input» pour rendre une zone de texte HTML, et mettre des styles CSS pour mettre en évidence le message d'erreur.
Fichier: CustomerForm.jsp
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
Spring's form textbox example
Username :
Si le formulaire est soumis, restituez la page réussie et affichez la valeur de la zone de texte soumise.
Fichier: CustomerSuccess.jsp
Spring's form textbox example
userName : ${customer.userName}
5. Configuration de Spring Bean
Liez le tout ~
/WEB-INF/pages/ .jsp
6. Demo
Accéder à la page -http://localhost:8080/SpringMVCForm/textbox.htm

Si la valeur de la zone de texte est vide lors de la soumission du formulaire, affichez et mettez en surbrillance le message d'erreur.

Si le formulaire est envoyé avec succès, affichez simplement la valeur de la zone de texte soumise.

Télécharger le code source
Téléchargez-le -SpringMVCForm-TextBox-Example.zip (9 Ko)