`
fly2wind
  • 浏览: 27377 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类

使用内容协商让Spring MVC支持xml json等格式输出

阅读更多
在dispatcher-servlet.xml里配置
<!-- Content Negotiating View Resolver -->
	<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
		<property name="ignoreAcceptHeader" value="true" />
		<property name="defaultContentType" value="text/html" />
		<property name="mediaTypes">
			<map>
				<entry key="html" value="text/html" />
				<entry key="xml" value="application/xml" />
				<entry key="json" value="application/json" />
			</map>
		</property>
		<property name="favorParameter" value="false" />
		<property name="viewResolvers">
			<list>
				<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
					<property name="cache" value="false" />
					<property name="contentType" value="text/html" />
					<property name="prefix" value="" />
					<property name="suffix" value=".html.ftl" />
					<property name="exposeSpringMacroHelpers" value="true" />
					<property name="requestContextAttribute" value="rc" />
				</bean>
				<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
					<property name="cache" value="false" />
					<property name="contentType" value="application/xml" />
					<property name="prefix" value="" />
					<property name="suffix" value=".xml.ftl" />
					<property name="exposeSpringMacroHelpers" value="true" />
					<property name="requestContextAttribute" value="rc" />
				</bean>
				<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
					<property name="cache" value="false" />
					<property name="contentType" value="application/json" />
					<property name="prefix" value="" />
					<property name="suffix" value=".json.ftl" />
					<property name="exposeSpringMacroHelpers" value="true" />
					<property name="requestContextAttribute" value="rc" />
				</bean>
			</list>
		</property>
	</bean>


每个ViewResolver必须配置contentType属性,这样ContentNegotiatingViewResolver就可以通过contentType类型知道该调用那一个ViewResolver。
这里都使用FreeMarkerViewResolver,根据contentType类型不同,就可以显示不同的模板。
然后定义相应的freemarker模板文件:
如:
index.html.ftl
index.xml.ftl
index.json.ftl

这样,xml 和json的格式完全可以灵活定义。
2
0
分享到:
评论
1 楼 weituotian 2017-01-04  
厉害了我的哥

相关推荐

    spring mvc生成xml或json

    在Spring MVC框架中,开发人员经常需要处理不同的数据交换格式,如XML和JSON,以便与客户端进行交互。这两种格式在Web应用中广泛用于传输数据,因为它们轻量级且易于解析。下面我们将深入探讨如何在Spring MVC中生成...

    spring mvc(整合了json)

    引入依赖后,Spring MVC 可以自动处理 JSON 格式的请求和响应。 2. **配置 Spring MVC**:在 Spring MVC 的配置文件中,我们需要添加 `Jackson` 的转换器,使得 Spring MVC 能够解析和生成 JSON 数据。例如,在使用...

    CXF2.6 spring 提供rest服务输出xml或json等格式数据

    本文将详细探讨如何使用CXF 2.6版本与Spring框架结合,来提供REST服务并输出XML或JSON格式的数据。 首先,我们需要理解CXF的核心概念。CXF全称是Camel eXtended for Web Services,它提供了全面的Web服务实现,包括...

    Spring3 MVC Ajax with JSON

    **Spring3 MVC与Ajax结合使用JSON** 在现代Web开发中,Spring框架的MVC模块与Ajax和JSON的集成是创建动态、响应式用户界面的关键技术。这个"Spring3 MVC Ajax with JSON"项目提供了一个Eclipse工程,包含了实现这一...

    spring-mvc-jsonview源代码

    本篇文章将通过解析“spring-mvc-jsonview”源代码,深入探讨Spring MVC如何支持AJAX请求,并提供一个实际的使用教程。 一、JSON视图解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人...

    使用Spring4 MVC 构建RESTful服务器,输出JSON格式的数据结构

    Spring4 MVC作为Java领域最流行的MVC框架之一,提供了一流的支持来构建RESTful API,尤其适合输出JSON格式的数据结构。本文将深入探讨如何使用Spring4 MVC实现这一目标。 首先,理解REST(Representational State ...

    springmvc对json支持

    Spring MVC 提供了对JSON的内置支持,使得开发人员可以轻松地在服务器端与客户端之间传输JSON对象。 在Spring MVC中,处理JSON主要涉及到两个关键组件:Jackson库和Spring MVC的配置。Jackson是Java中最流行的JSON...

    spring MVC 对 ResponseBody返回json数据进行脱敏处理

    在Spring MVC框架中,开发Web应用时经常需要将对象转换为JSON格式的数据并返回给客户端。然而,在处理敏感数据时,我们可能希望对这些数据进行脱敏,即隐藏或替换某些字段,以保护用户隐私或者确保数据安全性。本文...

    Spring MVC 学习笔记 十二 PDF/Excel格式输出

    对于PDF和Excel格式的输出,Spring MVC可以通过Apache POI库来处理Excel,使用Flying Saucer或iText库来生成PDF。这些库能够将HTML内容转换为所需的格式,方便导出和下载。 总的来说,Spring MVC是Spring框架的重要...

    spring—mvc -json

    在Spring MVC框架中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,广泛应用于Web服务接口,特别是RESTful API的设计中。本示例提供了一个完整的返回JSON数据的接口的Spring MVC Demo,帮助开发者...

    Spring MVC使用Demo

    `@ResponseBody`注解可以让方法的返回值直接写入HTTP响应体,常用于返回JSON或XML等格式的数据。 在理解Spring MVC的工作原理时,我们需要知道DispatcherServlet的角色。它是Spring MVC的前端控制器,接收所有HTTP...

    spring mvc + spring + mybatis+json整合

    JSON是Web服务中常见的数据交换格式,Spring MVC通过HttpMessageConverter机制支持JSON数据的序列化和反序列化。通常会使用Jackson或Gson库来处理JSON转换,例如在Controller中,将Java对象转化为JSON响应给前端,...

    spring Mvc配置xml使ResponseBody返回Json的方法示例

    在Spring MVC框架中,使用`@ResponseBody`注解可以方便地将控制器方法的返回值转换为JSON格式,然后发送到客户端。本篇文章将详细介绍如何在Spring MVC的XML配置中设置,以便让`@ResponseBody`自动将Java对象转换为...

    spring4 mvc json配置jar包

    在Spring4 MVC的配置中,通常需要在`web.xml`或Spring的配置文件中添加MVC的JSON处理器,比如`Jackson2HttpMessageConverter`,以便让Spring MVC能够自动处理JSON请求和响应。同时,需要在`pom.xml`或构建文件中引入...

    Spring MVC跟jQuery和Twitter Bootstrap的结合

    3. **数据绑定**:Spring MVC支持JSON或XML格式的数据交换,jQuery可以通过Ajax请求发送和接收这些格式的数据。使用`@RequestBody`和`@ResponseBody`注解,Spring MVC可以将JSON数据自动映射到Java对象。 4. **表单...

    Spring4 mvc使用JSON包变更

    标题 "Spring4 MVC 使用 JSON 包变更" 涉及的是在Spring MVC 4.x版本中处理JSON数据的更新和优化。Spring MVC是Spring框架的一部分,它提供了强大的模型-视图-控制器(MVC)架构支持,使得开发Web应用程序变得更加...

    Mastering Spring MVC 4(2015.09)源码

    此外,Spring MVC 4还支持RESTful风格的Web服务,通过@RequestMapping注解的produces和consumes属性,可以处理不同格式的HTTP请求和响应,如JSON、XML等。 总的来说,"Mastering Spring MVC 4(2015.09)源码"提供了...

    spring mvc restful service

    - **XML**:对于XML,Spring MVC同样支持使用JAXB进行序列化和反序列化。可以使用`@XmlRootElement`和`@XmlElement`等注解来标记Java类和属性。 4. **Maven工程**:Maven是Java项目管理工具,负责依赖管理和构建...

    Spring mvc5.0.3 所有jar包

    14. **MessageConverter**: Spring MVC使用MessageConverter处理HTTP请求和响应的转换,支持JSON、XML等多种格式。 15. **模板引擎**: Spring MVC支持多种模板引擎,如FreeMarker、Thymeleaf等,这些引擎可以将模型...

    Spring MVC学习笔记之json格式的输入和输出

    在Spring MVC框架中,处理JSON格式的输入输出是开发RESTful服务的重要一环。JSON(JavaScript Object Notation)因其轻量级和良好的跨平台兼容性而被广泛使用。Spring MVC提供了灵活的方式来处理JSON数据的输入和...

Global site tag (gtag.js) - Google Analytics