Code Bye

是不是表单页面jsp传到后台的数据都是字符串类型啊 springmvc怎么处理时间类型啊

 

是不是表单页面jsp传到后台的数据都是字符串类型啊 springmvc怎么处理时间类型啊
我前台页面有个时间插件  然后选择时间 后台对应的表的结构是date 类型
不知道各位用springmvc怎么处理的啊  请教啊


10分
没用过springmvc ,springmvc 没有像struts2的表单对象映射的功能吗?
没有的话,那就是用servlet的功能
String adate = request.getParameter(“date”);
Date date = new Date(adate);

10分
Spring 可以做些转换,当然没那么只能了,想structs2你要写转换器,SpringMVC也有,不过叫做属性编辑器
参考这里
用这个把
public class DateConverter implements Converter<String, Date> {
    
    /** date format 格式*/
    private static final String[] PATTERNS = {"yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd", "HH:mm:ss"};
    
    @Override
    public Date convert(String source) {
        if(!StringUtil.isNvl(source)) {
            try {
                return DateUtils.parseDateStrictly(source, PATTERNS);
            } catch (ParseException e) {
                //异常时参数绑定失败
            }
        }
        return null;
    }

}

mvc配置:

<!-- request请求参数绑定类型定义-->
	<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
		<property name="converters">
			<set>
				<!-- 此处可以定义多种转换类型 -->
				<bean class="com.xxx.xxx.converter.DateConverter" />
			</set>
		</property>
	</bean>

<mvc:annotation-driven conversion-service=”conversionService” />

这样在控制层用Date 接收数据的时候, springmvc会按照convert里面的返回值设置绑定结果。
这样比使用@InitBinder方便, 不用在每个Controller都写。

里面用到了DateUtils.parseDateStrictly(source, PATTERNS);  这个是common-lang3 包里。 它按照PATTERNS指定的多种格式逐一匹配。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明是不是表单页面jsp传到后台的数据都是字符串类型啊 springmvc怎么处理时间类型啊