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

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

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

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