zoukankan      html  css  js  c++  java
  • Spring MVC——数据检验步骤

    1. 搭建web工程

    2. 导入jar包

    spring-beans.jar、spring-context.jar、spring-core.jar、spring-expression.jar、spring-aop.jar、spring-web.jar、spring-webmvc.jar、


    hibernate-validator-4.3.0.Final.jar、jboss-logging-3.1.0.CR2.jar、validation-api-1.0.0.GA.jar

    添加依赖包: commons-logging.jar、aopalliance.jar

    3.在spring-mvc.xml中配置校验器

    <!-- 校验器 -->
    <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">

    <!--Hibernate校验器-->
    <property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>

    <!-- 指定错误信息配置文件:默认情况读取类路径classpath下的 ValidationMessages.properties-->
    <property name="validationMessageSource" ref="messageSource"></property>

    </bean>

    <!--读取错误信息配置文件 -->
    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">

    <!-- 文件路径 -->
    <property name="basenames">
    <value>classpath:CustomerValidationMessages</value>

    注意:在类路径下自定义的配置文件
    </property>

    <!-- 指定文件编码格式 -->
    <property name="fileEncodings" value="utf-8"></property>

    <!-- 指定文件内容缓存时间,秒为单位 -->
    <property name="cacheSeconds" value="60"></property>
    </bean>

    4. 在spring-mvc.xml文件中,将校验器注入到适配器中

    <!-- 处理器适配器、处理器映射器 -->
    <mvc:annotation-driven validator="validator"></mvc:annotation-driven>

    5. 添加校验规则
    public class User {
    //用户名不能为空
    @NotEmpty(message="{user.username}")
    public String username;

    //密码长度必须在6-12之间
    @Length(min=6,max=12,message="{user.password}")
    public String password;

    //必须符合正则表达式规则
    @Email(regexp="^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$")
    private String email;
    }

    8. 在spring-mvc.xml文件中,配置错误信息文件CustomerValidationMessages.properties

    user.username = 用户名不能为空
    user.password = 密码长度必须在6-12之间
    user.email = 邮件格式不正确

    9. 捕获错误信息
    @Controller
    public class UserController {

    @RequestMapping("/insertUser")
    public String insertUser(Model model,@Validated User user,BindingResult bindingResult,Integer uid)
    {
    if(bindingResult.hasErrors())
    {
    //获取所有的错误信息
    List<ObjectError> errorList = bindingResult.getAllErrors();
    for (ObjectError error : errorList) {
    System.out.println(error.getDefaultMessage());
    }

    /*
    * 数据回显
    */
    //1.POJO类型会默认保存在request作用域中
    //model.addAttribute("user", user);

    //2.简单数据类型Integer、String、Double需手动保存
    model.addAttribute("uid", uid);

    //保存错误信息
    model.addAttribute("errorMsg", errorList);
    return "index";
    }
    else
    {
    return "main";
    }
    }

    }

    10.显示错误信息

    11.测试
    http://localhost:8088/springMvc_05_validation/index.jsp

  • 相关阅读:
    Snuke's Subway Trip
    codevs 1606 台阶
    COGS 2334. [HZOI 2016]最小函数值
    codevs 1052 地鼠游戏
    洛谷 P1091 合唱队形
    洛谷 P1376 机器工厂
    codevs 2618 核电站问题
    vijos 1524 最小监视代价
    洛谷 P1690 贪婪的Copy
    51nod 1135 原根
  • 原文地址:https://www.cnblogs.com/ccw95/p/6165324.html
Copyright © 2011-2022 走看看