【SpringMVC】SpringMVC 对 Date 类型转换

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 Datejava.util.Date

发布了574 篇原创文章 · 获赞 203 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/104080905
今日推荐