`
wusuoya
  • 浏览: 643067 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

SpringMVC中返回值处理

 
阅读更多

对于springMVC处理方法支持支持一系列的返回方式:

  1. ModelAndView
  2. Model
  3. ModelMap
  4. Map
  5. View
  6. String
  7. Void

具体可参考链接:

http://my.oschina.net/bosscheng/blog/126941

以上是SpringMvc原生支持的返回类型,如果返回Json,可以用Json String或者Map,

还可以返回类,操作步骤见下面介绍。

 

需要注意的是,SpringMvc与Jackson结合使用时,如果返回的是一个Object、或者返回的Map中是Object型的,就需要对Object中的成员变量加注解,否则会报错:org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation,500 code error。 

原因是 Jackson 默认情况下不知道怎么去序列化,方法有:

1.为成员变量增加getter、setter方法

2. 或者也可以给field加上 @JsonProperty 注解,(也可在getter上加)  , 还能用它指定序列化时的属性名

 

@JsonProperty可以标注在field或者getter上,

Defines name of the logical property, i.e. Json object field name to use for the property(i.e. @JsonProperty("GID") ): if empty String (which is the default), will use name of the field that is annotated.

 

代码示例:

class ItemContent {

private int gid;

private int sid;

private Date createTime;

private String gname;

private String name;

private String nologinUrl;

 

@JsonProperty

int getGid() {

return gid;

}

 

void setGid(int gid) {

this.gid = gid;

}

 

@JsonProperty

int getSid() {

return sid;

}

.............................

 

@RequestMapping(value = "/dissert/getServerList.do")

@ResponseBody

public Object getServerList(HttpServletRequest request) {

Map<String, Object> resultMap = new HashMap<String, Object>();

..................................

        List<ItemContent> tempList = new ArrayList<ItemContent>();

for (GameServer gameServer : listServers) {

           ......................

ItemContent item = new ItemContent();

item.setGid(gameServer.getGid());

item.setGname(gameServer.getGname());

item.setSid(gameServer.getSid());

item.setName(gameServer.getName());

item.setCreateTime(gameServer.getCreateTime());

 

}

tempList.add(item);

}

}

resultMap.put("open", tempList);

return resultMap;

}

 

关于Jackson介绍,可参考:

http://unmi.cc/jackson-java-object-json-string/

分享到:
评论
1 楼 nanshanmu 2017-02-23  
333
引用
  • [url][*]||
  • ||
  • [/flash][/flash][/url]
  • [/list]
[/u]
                    

相关推荐

    详解springmvc之json数据交互controller方法返回值为简单类型

    本文将详细介绍在SpringMVC的Controller方法中如何处理返回值为简单类型的数据,并与前端进行JSON数据交互。 首先,要了解SpringMVC中的@RequestBody注解。这个注解的作用是将HTTP请求体中的JSON数据绑定到相应的...

    SpringMVC Controller 返回值的可选类型详解

    在Spring MVC框架中,Controller是处理HTTP请求的核心组件。它接收客户端发送的请求,并返回相应的视图或数据。本文将详细解析Spring MVC Controller支持的多种返回值类型,以及它们各自的用法。 1. ModelAndView `...

    Spring MVC处理方法返回值过程解析

    Spring MVC处理方法返回值过程解析 Spring MVC是 Java Web 应用程序框架,提供了灵活的处理方法返回值机制,支持多种返回值类型,包括ModelAndView、Model、ModelMap、Map、View、String、Void、Object等。本文将...

    SpringMVC中后台转换json格式

    通过以上配置和代码,你应该能够成功地在SpringMVC中处理JSON格式的数据,从而避免406错误。确保所有依赖库都已引入,并正确配置SpringMVC,以实现后台与前台之间的顺利JSON数据交互。在实际项目中,还可能需要考虑...

    SpringMVC-9 处理JSON数据

    1. 概念:HttpMessageConverter是Spring MVC中的一个核心组件,它负责将HTTP请求消息转换为处理方法的参数,以及将处理方法的返回值转换为HTTP响应消息。 2. 默认Converters:Spring MVC默认包含多种Converter,包括...

    Java实训教程 Java软件开发实战 Java开发框架介绍 SpringMVC_4_方法返回值 共25页.pptx

    在SpringMVC中,控制器方法的返回值类型非常关键,因为它决定了如何处理请求并响应给客户端。接下来,我们将详细介绍几种常见的返回值类型: ### 1. `ModelAndView` `ModelAndView`是最基本也是最常用的返回类型之...

    详解利用SpringMVC拦截器控制Controller返回值

    在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,它可以对HTTP请求进行预处理(preHandle)、后处理(postHandle)以及清理工作(afterCompletion)。在这个场景中,我们利用拦截器来控制Controller...

    SpringMVC面试专题及答案.pdf

    ### SpringMVC 面试专题...- **返回类型**:SpringMVC 中控制器方法的返回值类型非常灵活,可以是字符串(视图名称)、`ModelAndView` 对象、`RedirectView` 对象等。这些返回类型可以根据不同的场景选择最合适的类型。

    尚硅谷SpringMVC部分全套教学文档笔记

    - 它可以用于方法参数,表示将Model中的对象绑定到方法参数,或者用于方法返回值,将结果对象添加到Model中。 5. **视图解析**: - 视图解析器负责将逻辑视图名转换为实际的物理视图,如JSP页面。 - 常见的视图...

    Java SpringMVC 学习路线.pdf

    通过这些实际操作,可以深入理解SpringMVC框架中如何处理请求、返回响应和与前端页面交互。 SpringMVC的架构理解也是学习的重要内容。需要了解框架默认加载的组件,如处理器映射器(Handler Mappers)与处理器...

    SpringMVC学习笔记整合搭建框架

    4、SpringMVC中异常处理 5、图片上传处理 6、Json数据交互 7、SpringMVC实现RESTful 8、拦截器 2.Spring入门 2.1.Springmvc是什么 3.3.jdbc编程步骤: 1、加载数据库驱动 2、创建并获取数据库链接 3、创建jdbc ...

    SpringMVC四种映射方式实例代码

    本实例代码着重讲解了SpringMVC中的四种映射方式以及拦截器的实现,这对于理解和掌握SpringMVC的请求处理机制至关重要。 1. **四种映射方式**: - **通配符映射**:`@RequestMapping("/path/*")`,星号(*)代表任意...

    传智播客springMVC公开课

    SpringMVC 提供了对 JSON 数据的生成功能,如使用 `@ResponseBody` 注解和 `Jackson` 库,可以将方法返回值直接转换成 JSON 字符串发送给客户端,方便前后端分离的开发模式。 **EasyUI** 是一个基于 jQuery 的 UI ...

    0325_SpringMVC.html

    HelloWorld细节: 一:运行流程;...SpringMVC认为这个返回值就是要去的页面地址 * 7)、拿到方法返回值以后;用视图解析器进行拼串得到完整的页面地址; * 8)、拿到页面地址,前端控制器帮我们转发到页面;

    SpringMVC(.html)

    SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的模型-视图-控制器(MVC)架构。这个框架使得开发者可以轻松地构建可维护、松耦合的Java Web应用。在SpringMVC中,控制器、模型、视图各自职责分明,从而...

    一个简单的springMVC入门项目

    7. **数据绑定**:SpringMVC自动将HTTP请求参数绑定到Controller方法的参数上,反之亦然,将Controller方法的返回值绑定到Model中,便于视图渲染。 8. **异常处理**:SpringMVC提供了一种优雅的方式处理程序中的...

    SpringMVC讲解文档

    * 作为 SpringMVC 框架的入口点,负责接收和处理请求 * 将请求交给 HandlerMapping 处理器映射器进行处理 HandlerMapping 处理器映射器 * 根据 URL 查找相应的 Handler 处理器 * 可以通过 XML 配置方式或注解方式...

    springmvc入门程序(下载后你不会后悔的)

    在SpringMVC中,注解提供了一种更加简洁的方式来处理请求和参数绑定。常见的注解包括: - `@RequestMapping`:用于映射请求路径。 - `@ModelAttribute`:用于将模型属性自动绑定到方法参数或返回值。 - `@...

    springMVC笔记

    2. springmvc-servlet.xml配置文件说明:这个配置文件中需要定义组件扫描、静态资源处理、注解驱动以及视图解析器等信息。 - 组件扫描(component-scan):指定SpringMVC需要管理的包路径,它会自动扫描这些路径...

    springmvc第一天课堂笔记.docx

    - `@ModelAttribute`:用于绑定方法返回值到Model中。 - `@PathVariable`:用于将URL中的变量映射到方法参数上。 - `@RequestParam`:用于绑定请求参数到方法参数上。 - `@ModelAttribute`:用于将方法参数绑定到...

Global site tag (gtag.js) - Google Analytics