Exemple de mot de passe Spring MVC
Dans Spring MVC, vous pouvez utiliser la balise<form:password /> pour afficher un champ de mot de passe HTML. Par exemple,
Il rend le code HTML suivant
Note
Dans la documentation de Spring, il est mentionné que l’attribut ‘showPassword’ affichera la valeur du mot de passe, mais cela a échoué lors de mes tests, vous pouvez peut-être l’essayer vous-même.
Dans ce didacticiel, nous vous montrons comment utiliser la balise de formulaire de Spring «password» dans les champsrender two HTML password - «password» et «confirmPassword». De plus, ajoutez un validateur vérifie les deux champs de mot de passe: ne doit pas être vide et le champ «mot de passe» doit correspondre au champ «confirmPasswod».
1. Manette
UnSimpleFormController pour gérer la valeur du formulaire.
Fichier: PasswordController.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 PasswordController extends SimpleFormController{
public PasswordController(){
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 du mot de passe.
Fichier: Customer.java
package com.example.customer.model;
public class Customer{
String password;
String confirmPassword;
//getter and setter methods for password and confirmPassword
}
3. Validateur de formulaire
Créez une classe de validation de mot de passe pour vérifier les deux champs de mot de passe: ne doit pas être vide, «mot de passe» et «confirmPassword» doivent correspondre. Sinon, récupérez le message correspondant du bundle de ressources (fichier de propriétés).
Fichier: PasswordValidator.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 PasswordValidator 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, "password",
"required.password", "Field name is required.");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "confirmPassword",
"required.confirmPassword", "Field name is required.");
Customer cust = (Customer)target;
if(!(cust.getPassword().equals(cust.getConfirmPassword()))){
errors.rejectValue("password", "notmatch.password");
}
}
}
Fichier: message.properties
required.password = Password is required! required.passwordConfirm = Confirm password is required! notmatch.password = Password and Conform password is not match!
4. View
Une page JSP pour utiliser la balise de formulaire de Spring «password» pour afficher deux champs de mot de passe 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 password example
Password :
Confirm Password :
Si le formulaire est soumis, restituez la page réussie et affichez la valeur du mot de passe soumis.
Fichier: CustomerSuccess.jsp
Spring's form password example
Password : ${customer.password}
Confirm Password : ${customer.confirmPassword}
5. Configuration de Spring Bean
Liez le tout ~
/WEB-INF/pages/ .jsp
6. Demo
Accéder à la page -http://localhost:8080/SpringMVCForm/password.htm

Si le «mot de passe» ne correspond pas au «confirmPassword» 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 du mot de passe soumis.

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