SpringMVC学习(三)

本文详细介绍如何在Spring MVC框架中实现数据校验,包括导入jar包、配置校验器、在bean上添加校验注解及在controller上处理校验结果。通过具体示例,帮助读者理解并掌握整个数据校验流程。
摘要由CSDN通过智能技术生成

数据校验

1.导入jar包

2.配置校验器,并加入适配器

3.bean上添加校验信息

4.controller上校验信息的处理

一:jar包的导入

二:配置校验器validator

<!-- 校验器,配置validator -->
    <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        <property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
        <property name="validationMessageSource" ref="validationMessageSource"></property>
    </bean>
    
    <!-- 配置validationMessageSource -->
    <bean id="validationMessageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <!-- 指定校验信息的资源文件的基本文件名称,不包括后缀,后缀默认是properties -->
        <property name="basenames">
            <list>
                <value>classpath:validationMessageSource</value>
            </list>
        </property>
        <!-- 指定文件的编码 -->
        <property name="fileEncodings" value="utf8"></property>
        <!-- 对资源文件内容缓存的时间,单位秒 -->
        <property name="cacheSeconds" value="120"></property>
    </bean>
	<!-- 将校验器加入适配器-->
	<mvc:annotation-driven validator="validator"  />

三:在bean上添加校验信息

public class user {
	@Size(min=3,max=10,message="{com.name.size}")
    //错误信息可以通过配置文件,也可以直接在message中直接书写
	private String username;
	@NotEmpty(message="密码好像空了")
	private String password;
}

四:controller控制器

public class show2 {
	@RequestMapping(value="/show2")
	public String show2(Model model,@Validated user user,BindingResult result){
            //所校验的信息后面需要跟上BindingResult result
		if(result.hasErrors()){
			List<ObjectError> errors = result.getAllErrors();
			for (ObjectError Error : errors) {
				System.out.println(Error);
			}
			model.addAttribute("errors", errors);
			return "jsp/error";
		}
		model.addAttribute("user", user);
		return "jsp/welcome";
	}
}

五:访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值