Exemple de mot de passe MVC Spring

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

SpringMVC-Password-Example-1

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.

SpringMVC-Password-Example-2

Si le formulaire est envoyé avec succès, affichez simplement la valeur du mot de passe soumis.

SpringMVC-Password-Example-3

Télécharger le code source

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