Spring MVC-Kennwortbeispiel

Beispiel für ein Spring-MVC-Kennwort

In Spring MVC können Sie das Tag<form:password />verwenden, um ein HTML-Kennwortfeld zu rendern. Zum Beispiel,

Es wird folgenden HTML-Code gerendert

Note
In der Dokumentation von Spring wird das Kennwort "showPassword" angezeigt. Der Kennwortwert wird angezeigt. Bei meinen Tests ist dies jedoch fehlgeschlagen. Möglicherweise können Sie es selbst versuchen.

In diesem Tutorial zeigen wir Ihnen, wie Sie das Spring-Formular-Tag "password" bisrender two HTML password Felder verwenden - "Passwort" und "Bestätigungspasswort". Fügen Sie außerdem eine Validierungsprüfung für beide Kennwortfelder hinzu: Darf nicht leer sein, und das Feld "Kennwort" muss mit dem Feld "confirmPasswod" übereinstimmen.

1. Regler

ASimpleFormController, um den Formularwert zu verarbeiten.

Datei: 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. Modell

Ein Kundenobjekt zum Speichern des Kennwortwerts.

Datei: Customer.java

package com.example.customer.model;

public class Customer{

    String password;
    String confirmPassword;
    //getter and setter methods for password and confirmPassword
}

3. Formularvalidator

Erstellen Sie eine Kennwortprüfklasse, um die beiden Kennwortfelder zu überprüfen: Darf nicht leer sein, "Kennwort" und "ConfirmPassword" müssen übereinstimmen. Andernfalls rufen Sie die entsprechende Nachricht aus dem Ressourcenpaket (Eigenschaftendatei) ab.

Datei: 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");
        }

    }

}

Datei: message.properties

required.password = Password is required!
required.passwordConfirm = Confirm password is required!
notmatch.password = Password and Conform password is not match!

4. View

Eine JSP-Seite, auf der das Spring-Formular-Tag "password" zum Rendern von zwei HTML-Kennwortfeldern verwendet und einige CSS-Stile eingefügt werden, um die Fehlermeldung hervorzuheben.

Datei: CustomerForm.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>






    

Spring's form password example

Password :
Confirm Password :

Wenn das Formular übermittelt wird, rendern Sie die erfolgreiche Seite und zeigen Sie den übermittelten Kennwortwert an.

Datei: CustomerSuccess.jsp



    

Spring's form password example

Password : ${customer.password}
Confirm Password : ${customer.confirmPassword}

5. Spring Bean Konfiguration

Verknüpfe alles ~



  

    
        
        

        
        
            
        
    

    
    
        
    

    
        
            /WEB-INF/pages/
        
        
            .jsp
        
    

6. Demo

Greifen Sie auf die Seite zu -http://localhost:8080/SpringMVCForm/password.htm

SpringMVC-Password-Example-1

Wenn das „Passwort“ beim Absenden des Formulars nicht mit dem „ConfirmPassword“ übereinstimmt, zeigen Sie die Fehlermeldung an und markieren Sie sie.

SpringMVC-Password-Example-2

Wenn das Formular erfolgreich gesendet wurde, zeigen Sie einfach den übermittelten Kennwortwert an.

SpringMVC-Password-Example-3

Quellcode herunterladen

Laden Sie es herunter -SpringMVCForm-Password-Example.zip (9KB)