springmvc自定义参数绑定

当springMVC获取页面中的日期时间数据是会出错,因为springMVC不知道日期的具体格式是怎样的,因此我们需要做如下事情:

自定义一个日期时间转换器(继承converter<S,T>接口)

S   被转换的数据源类型

T   转换后的数据类型

实现其方法


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.core.convert.converter.Converter;

/**
 * 日期转换器
 * S:source 要转换的源类型
 * T:目标,要转换成的数据类型
 * @author Steven
 *
 */
public class DateConvert implements Converter<String, Date> {

	@Override
	public Date convert(String source) {
		Date result = null;
		try {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			result = sdf.parse(source);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return result;
	}

}

 

 写完转换器,springmvc还不认识这个转换器,需要在springmvc.xml中配置,将自己的转换器告诉springMVC

<!-- 定义转换器 -->
	<bean id="MyConvert" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
		<property name="converters">
			<set>
				<bean class="com.itheima.springmvc.utils.DateConvert" />
			</set>
		</property>
	</bean>

 

接着,要让springMVC注解使用到这个转换器(在注解驱动中设置)

<!-- 配置注解驱动,相当于同时使用最新处理器映射跟处理器适配器,对json数据响应提供支持 -->
	<!-- 使用自定义转换器 -->
	<mvc:annotation-driven conversion-service="MyConvert" />

 

此时就可以获取前端传过来的日期时间类型的数据了

<td>
	<%-- <fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/> --%>
	<input type="text" name="items[${ status.index }].createtime" value='<fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>'>
	</td>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值