Telerik kendo ui 那点事【4】spring mvc设置细节补充

上一篇叙述了GridView的用法。遗漏了spring mvc视图映射器的配置。可能会让人觉得迷惑。下面补充一下spring mvc视图映射层的配置。细心的读者应该已经发现了:页面定义的CURD的URL与控制器里定义的路径是不完全一样的,后面都多了.json。这是spring mvc映射器的解析识别功能,通过后缀的不同,spring使用json或xml或者其他的数据格式来序列化、反序列化数据报文。


多的废话不说,直接上Bean配置!

	<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
	<!-- <context:annotation-config /> <mvc:annotation-driven /> -->
	<bean
		class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
	</bean>
	<bean
		class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
		<property name="messageConverters">
			<list>
				<bean
					class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
				</bean>
			</list>
		</property>
	</bean>
	<!-- rest json -->
	<bean
		class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
		<property name="ignoreAcceptHeader" value="true" />
		<property name="defaultContentType" value="text/html;charset=utf-8" />
		<property name="contentNegotiationManager">
			<bean class="org.springframework.web.accept.ContentNegotiationManager">
				<constructor-arg>
					<bean
						class="org.springframework.web.accept.PathExtensionContentNegotiationStrategy">
						<constructor-arg>
							<map>
								<entry key="json" value="application/json;charset=utf-8" />
								<entry key="xml" value="application/xml;charset=utf-8" />
							</map>
						</constructor-arg>
					</bean>
				</constructor-arg>
			</bean>
		</property>

		<property name="defaultViews">
			<list>
				<bean
					class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
					<property name="objectMapper">
						<bean class="org.codehaus.jackson.map.ObjectMapper">
							<!-- 设置objectMapper的serializationConfig的serializationInclusion属性,以忽略null对象 
								,也可在vo上注解@JsonWriteNullProperties(false) -->
							<property name="serializationConfig.serializationInclusion">
								<value
									type="org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion">NON_NULL</value>
							</property>
						</bean>
					</property>

					<property name="extractValueFromSingleKeyModel" value="true" />
				</bean>
				<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
					<property name="marshaller">
						<bean class="org.springframework.oxm.xstream.XStreamMarshaller" />
					</property>
				</bean>
			</list>
		</property>
	</bean>


另外日期格式的问题,需要修改jackson的jar包,定义日期的默认格式化方式。

http://download.csdn.net/detail/supperman_009/6985313

可以到我的资源链接下载这个工程,从里面拷贝jackson json的jar包,直接替换从官网下载的jar包,即可正常使用。否则在序列化和反序列化日期的问题上,会冒青烟的!

未完待续……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值