`
ssxxjjii
  • 浏览: 948508 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring3.5 mvc json view bug MappingJacksonJsonView

 
阅读更多

在返回单一model的json的时候。 
MappingJacksonJsonView会返回 {model类名:{内容}} 

但我这时候是需要{内容} 

经过google后发现了这个缺陷。 

解决方法: 

Java代码   收藏代码
 
  1. package com;  
  2. //https://jira.springsource.org/browse/SPR-6932  
  3. //Support for single value responses using ContentNegotiatingViewResolver  
  4.   
  5. import java.util.Map;  
  6.   
  7. import org.springframework.web.servlet.view.json.MappingJacksonJsonView;  
  8.   
  9. public class CustomMappingJacksonJsonView extends MappingJacksonJsonView {  
  10.   
  11.     @Override  
  12.     protected Object filterModel(Map<String, Object> model) {  
  13.         Map<?, ?> result = (Map<?, ?>) super.filterModel(model);  
  14.         if (result.size() == 1) {  
  15.             return result.values().iterator().next();  
  16.         } else {  
  17.             return result;  
  18.         }  
  19.     }  
  20. 对应的ContentNegotiatingViewResolver修改如下
<bean
        class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
        <property name="order" value="1" />
        <property name="mediaTypes">
            <map>
                <entry key="json" value="application/json" />
            </map>
        </property>
        <property name="defaultViews">
            <list>
                <bean
                    class="net.zhepu.json.MappingJacksonJsonView" />
            </list>
        </property>
        <property name="ignoreAcceptHeader" value="true" />
    </bean>

 

分享到:
评论

相关推荐

    spring-framework-5.3.23 源码

    在Web开发领域,Spring MVC是Spring Framework的一部分,提供了一个强大的MVC(Model-View-Controller)架构。它负责接收HTTP请求,处理业务逻辑,更新模型数据,并将结果呈现给视图。Spring MVC的松耦合设计使得...

    springjar4.2.6

    1. **Spring框架**:理解Spring的核心概念,如依赖注入、AOP、MVC(Model-View-Controller)架构模式以及它如何简化Java Web开发。 2. **版本历史**:了解Spring 4.2.6相对于早期版本的改进和新增功能,以及为什么...

    浅析Spring4新特性概述

    - **@JsonView支持**:与Jackson库结合,允许在序列化时指定视图。 5. **测试框架**: - **@sql标签**:简化了测试脚本的初始化。 - **MockRestServiceServer**:对AsyncRestTemplate的支持,便于测试异步HTTP...

    JAVA商业项目源代码--商铺经营管理系统(解压密码https://www.baidu.com/)

    2. **MVC设计模式**:该项目可能采用了Model-View-Controller(MVC)设计模式,将业务逻辑、数据和用户界面分离,提高了代码的可读性和可维护性。开发者需要理解如何在Java中实现MVC架构,如使用Spring MVC框架。 3...

    Java毕业设计-基于springboot开发的宠物咖啡馆平台设计与实现-毕业论文(附毕设源代码).rar

    在系统设计上,项目可能采用了MVC(Model-View-Controller)架构模式。模型层用于处理业务逻辑和数据管理,视图层负责展示信息,控制器层则作为两者之间的桥梁,接收用户请求并转发到相应模型进行处理,最后将结果...

    基于SSM+mysql开发的JavaWeb网上商城系统源码.zip

    它采用Model-View-Controller(MVC)设计模式,将业务逻辑、数据和用户界面分离,提高了代码的可维护性和可测试性。 **3. MySQL数据库** MySQL是一款广泛使用的开源关系型数据库管理系统。在这个网上商城系统中,...

    03-CGB-SSM-V1.05.docx

    SSM整合通常遵循MVC(Model-View-Controller)设计模式,项目分层结构一般包括表现层(Controller)、业务逻辑层(Service)和服务数据访问层(DAO)。表现层负责接收用户请求并返回响应,业务逻辑层处理业务规则,...

    SSM-GoodsManagerSystem.zip

    它遵循Model-View-Controller(MVC)设计模式,将业务逻辑、数据和用户界面分离,提高了代码的可维护性和可测试性。在SSM-GoodsManagerSystem中,SpringMVC负责处理HTTP请求,将这些请求路由到相应的控制器方法,...

    Struts框架核心包

    Struts框架是Java Web开发中的一种经典MVC(Model-View-Controller)框架,由Apache软件基金会维护。它为开发者提供了一种结构化的、可扩展的解决方案,用于构建基于Java Servlet的Web应用程序。Struts2作为SSH...

    体育馆在线预订管理系统-毕业设计.zip

    此系统通常采用MVC(Model-View-Controller)架构模式,将业务逻辑、数据模型和用户界面分离,提高了代码的可维护性和可扩展性。在Java后端,可以使用Spring Boot框架构建基础架构,它集成了许多功能,如自动配置、...

    基于java的在线购物系统

    3. **Spring框架**:可能采用了Spring Boot或Spring MVC来简化开发,提供依赖注入、事务管理等功能。 4. **MyBatis**:作为持久层框架,MyBatis可以简化SQL操作,将Java代码与SQL语句紧密集成。 5. **JDBC**:Java ...

    struts2 jar包

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web框架,由Apache软件基金会维护。它提供了一种组织应用结构的方式,简化了开发过程,使得开发者能够更专注于业务逻辑,而不是底层的HTTP请求处理。...

    struts源码jar包,不用解压直接加载

    Struts是Apache软件基金会下的一个开源项目,它是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。Struts 2是其后续版本,提供了更强大的功能和更好的灵活性,使得开发者能够构建更加模块化、...

    网上学习答疑系统.zip

    这要求开发者掌握Web容器(如Tomcat)的使用以及MVC(Model-View-Controller)设计模式。 3. **数据库管理**:在答疑系统中,存储用户信息、问题与答案等数据是必需的。因此,SQL知识,特别是MySQL或Oracle等关系型...

    SSH+JQuery插件+Mysql

    Struts2提供了MVC(Model-View-Controller)设计模式的实现,Spring则负责依赖注入(Dependency Injection)和事务管理,而Hibernate是ORM(Object-Relational Mapping)框架,用于简化数据库操作。 Struts2框架...

    struts2 框架的核心jar包(struts-2.3.16版本)

    Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。这个压缩包提供了Struts2框架的核心库,主要用于构建基于Java Servlet的Web应用程序。具体到struts-2.3.16版本,这是...

    java经典项目

    1. **MVC架构**:许多Java项目基于Model-View-Controller(MVC)设计模式,如Spring MVC。这种架构将业务逻辑、数据模型和用户界面分离,提高了代码的可维护性和可扩展性。 2. **Spring框架**:Spring是Java开发的...

    Java + SSM基于JavaEE的网上图书分享系统(毕业设计、课程设计使用).rar

    2. **SpringMVC**:是Spring框架的一部分,用于构建Web应用的模型-视图-控制器(Model-View-Controller,MVC)架构。它简化了HTTP请求和响应的处理,提供了数据绑定、验证和文件上传等功能。 3. **MyBatis**:是一...

    struts2.1.6架包

    Struts2.1.6是Apache Struts框架的一个版本,这是一个流行且强大的Java Web应用程序开发框架,用于构建和维护可扩展、易于维护的MVC(Model-View-Controller)架构的应用程序。Struts2框架提供了丰富的特性,如动作...

    新闻发布系统源码

    在JAVA编程语言中,此类系统通常会采用MVC(Model-View-Controller)设计模式,将业务逻辑、数据处理和用户界面进行分离,以实现代码的高可维护性和可扩展性。 在【JAVA源码】中,我们可以找到以下几个关键的知识点...

Global site tag (gtag.js) - Google Analytics