zoukankan      html  css  js  c++  java
  • SpringMVC介绍之Validation

      对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证。 SpringMVC 自身对数据在服务端的校验有一个比较好的支持,它能将我们提交到服务端的数据按照我们事先的约定进行数据有效性验证,对于不合格的数据信息 SpringMVC 会把它保存在错误对象中,这些错误信息我们也可以通过 SpringMVC 提供的标签在前端 JSP 页面上进行展示。

      1. 定义一个User类

    public class User {
     
        private String username;
       
        private String password;
     
        public String getUsername() {
           return username;
        }
     
        public void setUsername(String username) {
           this.username = username;
        }
     
        public String getPassword() {
           return password;
        }
     
        public void setPassword(String password) {
           this.password = password;
        }
       
        public String toString() {
           return username + ", " + password;
        }
       
    }

    2. UserValidator

    public class UserValidator implements Validator {
     
        public boolean supports(Class<?> clazz) {
           // TODO Auto-generated method stub
           return User.class.equals(clazz);
        }
     
        public void validate(Object obj, Errors errors) {
           // TODO Auto-generated method stub
           ValidationUtils.rejectIfEmpty(errors, "username", null, "Username is empty.");
           User user = (User) obj;
           if (null == user.getPassword() || "".equals(user.getPassword()))
               errors.rejectValue("password", null, "Password is empty.");
        }
     
    }

    3. 在controller中使用

    @Controller
    public class UserController {
       
        @InitBinder
        public void initBinder(DataBinder binder) {
           binder.setValidator(new UserValidator());
        }
     
        @RequestMapping("login")
        public String login(@Valid User user, BindingResult result) {
           if (result.hasErrors())
               return "redirect:user/login";
           return "redirect:/";
        }
       
    }
  • 相关阅读:
    mv命令(转)
    Linux获得命令帮助(学习笔记五)
    Shell解释器(学习笔记四)
    rmdir 命令(转)
    Java从零开始学十八(抽象类和接口)
    rm 命令(转)
    Centos6.6系统root用户密码恢复案例(转)
    Java从零开始学十七(简单工厂)
    Java从零开始学十六(多态)
    mkdir命令(转)
  • 原文地址:https://www.cnblogs.com/maybo/p/5189559.html
Copyright © 2011-2022 走看看