SpringMVC-转换器

转换器

为什么需要转换器

使用springmvc开发程序,如果界面上输入的内容和实体(controller 中)接收的数据类型不一样。那么会报出400的错误,并且在控制台没有错误提示的。
这中情况如何解决
1、首先需要在页面提交之前做输入合法性的验证。(所有的程序页面都需要)
2、在springmvc 中,date数据类型比较特殊的。需要我们手动的去转换一下数据类型

(原因:常用的日期格式和系统中默认的日期格式是不一样的。),那么需要在程序中去转换日期的数据类型。

转换日期数据类型的方式

1、在实体类的属性上加注解

public class ConTestPojo {
    
private string teststr;
//在这里添加注解
//pattern="yyyy-MI-dd":指明输入的日期的格式。(要求:输入格式必须是这样的)
    @DateTimeFormat(pattern="yyyy-MM-dd")
	private Date testdate;
}

分析:优点:简单方便;缺点:每一个日期类型的数据都要去写注解

2、编写一个全局的数据类型转换器

1、定义一个类,这个类需要实现convert<E ,T>接口

//泛型参数:String-->转换之前的数据类型
//泛型参数: Date-->转换之后的数据类型
public class Conterver implements Converter<String,Date>{
}

2、实现接口的方法

public class Conterver implements Converter<String,Date>{
	Date date = null;
	@override
	public Date convert( String str){
		simpleDateFormat sdf =new simpleDateFormat( "yyyy-MM-dd" );
   		try {
			date = sdf.parse(str);
        }catch (Exception e){
            e.printstackTrace();
        }
		return date;
  }
}

3、在spring 的配置文件中配置类型转换器

<!--配置转换器-->
<mvc:annotation-driven conversion-service="myDate"/>
<!--注册转换器类-->	
<bean id="myDate" class="org.springframework.context.support.ConversionServiceFactoryBean">
		<property name="converters">
			<list>
                <!--在这里可以注册多个类型转换类-->
				<bean class="com.zsn.mvc.common.Conterver"></bean>
			</list>
		</property>
	</bean>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值