Пример пароля Spring MVC

Пример пароля Spring MVC

В Spring MVC вы можете использовать тег<form:password /> для отображения поля пароля HTML. Например,

Это будет отображать следующий HTML-код

Note
В документации Spring упоминается, что атрибут «showPassword» будет отображать значение пароля, но это не удалось в моем тестировании, возможно, вы можете попробовать это самостоятельно.

В этом руководстве мы покажем вам, как использовать тег формы Spring «password» для полейrender two HTML password - «пароль» и «confirmPassword». Кроме того, добавьте проверки валидатора в оба поля пароля: не должно быть пустым, а поле «пароль» должно совпадать с полем «verifyPasswod».

1. контроллер

SimpleFormController для обработки значения формы.

Файл: 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. модель

Объект Customer для хранения значения пароля.

Файл: Customer.java

package com.example.customer.model;

public class Customer{

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

3. Форма валидатора

Создайте класс валидатора пароля, чтобы проверить оба поля пароля: не должно быть пустым, «пароль» и «Подтверждение пароля» должны совпадать. В противном случае получите соответствующее сообщение из комплекта ресурсов (файл свойств).

Файл: 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");
        }

    }

}

Файл: message.properties

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

4. View

Страница JSP для использования тега формы Spring «password» для отображения двух полей пароля HTML и помещения некоторых стилей CSS для выделения сообщения об ошибке.

Файл: CustomerForm.jsp

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






    

Spring's form password example

Password :
Confirm Password :

Если форма отправлена, отобразите успешную страницу и отобразите введенное значение пароля.

Файл: CustomerSuccess.jsp



    

Spring's form password example

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

5. Конфигурация Spring Bean

Связать все это ~



  

    
        
        

        
        
            
        
    

    
    
        
    

    
        
            /WEB-INF/pages/
        
        
            .jsp
        
    

6. Demo

Доступ к странице -http://localhost:8080/SpringMVCForm/password.htm

SpringMVC-Password-Example-1

Если при отправке формы «пароль» не совпадает с «паролем подтверждения», отобразите и выделите сообщение об ошибке.

SpringMVC-Password-Example-2

Если форма отправлена ​​успешно, просто отобразите введенное значение пароля.

SpringMVC-Password-Example-3

Скачать исходный код

Скачать -SpringMVCForm-Password-Example.zip (9KB)