SpringMVC 对 Date 类型转换
1. 在 springmvc.xml 中配置,代码中不需要做任何修改
1.1 必须额外导入joda-time.jar
1.2 时间类型 java.sql.Date
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 扫描注解 -->
<context:component-scan base-package="com.bjsxt.controller"></context:component-scan>
<!-- 注解驱动 -->
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
<bean id="conversionService"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="registerDefaultFormatters" value="false" />
<property name="formatters">
<set>
<bean
class="org.springframework.format.number.NumberFormatAnnotationFormatterFactory" />
</set>
</property>
<property name="formatterRegistrars">
<set>
<bean
class="org.springframework.format.datetime.joda.JodaTimeFormatterRegistrar">
<property name="dateFormatter">
<bean
class="org.springframework.format.datetime.joda.DateTimeFormatterFactoryBean">
<property name="pattern" value="yyyy-MM-dd" />
</bean>
</property>
</bean>
</set>
</property>
</bean>
<!-- 静态资源 -->
<mvc:resources location="/js/" mapping="/js/**"></mvc:resources>
<mvc:resources location="/images/" mapping="/images/**"></mvc:resources>
<mvc:resources location="/files/" mapping="/files/**"></mvc:resources>
</beans>
2. 使用注解. 在需要转换的参数或实体类属性上添加
@DateTimeFormatter(pattern=”表达式”)
2.1 使用 Date 参数接收
@Controller
public class DemoController {
@RequestMapping("demo")
public String demo(DemoDate demo) {
System.out.println("In DemoController, demo = " + demo);
return "abc.jsp";
}
}
2.2 在pojo实体类中
public class DemoDate {
@DateTimeFormat(pattern="yyyy/MM/dd")
private Date time;
2.3 注意地方:
2.3.1 不需要导入额外jar
2.3.2 Date
是 java.util.Date