是不是表单页面jsp传到后台的数据都是字符串类型啊 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里面的返回值设置绑定结果。 |
|
里面用到了DateUtils.parseDateStrictly(source, PATTERNS); 这个是common-lang3 包里。 它按照PATTERNS指定的多种格式逐一匹配。
|