`
zzc1684
  • 浏览: 1229299 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Spring MVC 3.2.2 +easyui 返回JSON数据格式

阅读更多

最近花了很多时间,研究Spring MVC 3.2.2 +easyui,实现了这个,前端页面实现个系统就很简单了。

 

Spring MVC 返回JSON数据的方法
1). 直接 PrintWriter 输出
2). 使用 JSP 视图
3). 使用Spring内置的支持

 

本文介绍的是第3种方法,方法如下:

 

1:首先下载JSON的包

 

jackson-all-1.9.11.jar

 

这是spring MVC处理json数据时,所必须的jar依赖。

 

2:spring mvc的配置文件中加入配置

<?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:p="http://www.springframework.org/schema/p"     
        xmlns:context="http://www.springframework.org/schema/context"  
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd   
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
	<context:annotation-config />

	<context:component-scan base-package="com.kingmed.jusmartcare.health"/>
   	<!-- 
	
	②:启动Spring MVC的注解功能,完成请求和注解POJO的映射	-->

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
   <property name="messageConverters">
   <list>
   <ref bean="jsonHttpMessageConverter"/>
   </list>
   </property>
</bean>

<bean id="jsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>

	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
	  <property name="prefix" value="/WEB-INF/jsp/"/>  
	  <property name="suffix" value=".jsp"/>  
	  <property name="contentType" value="text/html; charset=utf-8"/>  
	</bean> 		
</beans>

 说明:

org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter 的Bean配置中,我们加入了messageConverters属性,在该属性中我们有配置jsonHttpMessageConverter这个 Bean,它就是用来处理json数据转换的。

 

在jsonHttpMessageConverter的Bean配置中,有一个supportedMediaTypes属性,在这个属性可以添加了 text/html;charset=UTF-8这个值,它是为了处理返回的json数据的编码,默认是ISO-88859-1的,如果出现乱码,可以把 它设置为UTF-8,参考如下:

<bean id="jsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
    <property name="supportedMediaTypes">  
        <list>  
            <value>text/html;charset=UTF-8</value>  
        </list>  
    </property>  
</bean>  

 3:控制器Controller的注解

package com.kingmed.jusmartcare.health.web;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;



@Controller
public class MemberShipController {

	public static final String LOGIN_SUCCESS = "vipcontent";//Index";// 登陆成功
	public static final String LOGIN_FAIL = "../../index";//"LoginFail";// 登陆失败
	public static final String LOGOUT = "../../index";//
	public static final String REGISTER_SUCCESS = "RegisterSuccess";// 注册成功
	public static final String REGISTER_FAIL = "RegisterFail";// 注册成功
	
	
	
	private static final Logger logger=LoggerFactory.getLogger(MemberShipController.class);
	 

	@Autowired
	private HealthconsultService healthconsultService;
	

	
    
         @RequestMapping("jsp/welcome.do")
	public String welcom(@RequestParam(value = "ln", required = false) String ln) {
    	String en = ln==null?"":ln+'/';
    	return en+"welcome";
	}   
	@RequestMapping(value="user/list.do",method=RequestMethod.GET)   
	public String list(Model model) throws Exception {
		return "user/list";
	}    
	
	@RequestMapping(value="jsp/user/queryList.do")
	@ResponseBody         
	public Map<String, Object> queryList(HttpSession session,@RequestParam(value = "pageNo", required = false) Integer pageNo,@RequestParam(value = "ln", required = false) String ln) throws Exception{
		//spring太方便了,可以自动装配两个对象  会自动的装返回的Map转换成JSON对象
		Map<String, Object> result = new HashMap<String, Object>(2); 
		String en = ln==null?"":ln+'/';
		pageNo = pageNo==null?1:pageNo;  
		Page<Healthconsult> healths=healthconsultService.getPageList("cardno","1001", pageNo,2);
			
		int total=healths.getTotalCount();
		result.put("total", total);
		result.put("rows", healths.getResult());
		
		return result;
	}	    
    @RequestMapping(value="jsp/welcome1.do")   
    @ResponseBody  
    public Object test(HttpSession session){   
           
        System.out.println("test....................");   
    	MemberInfo logined=(MemberInfo)session.getAttribute("USER_INFO");
    	if(logined ==null){
    		logined=new MemberInfo();
    		logined.setCardNo("999999");
    		System.out.println("test1...................."); 
    	}
    	System.out.println("test2...................."); 
        return  logined; 
    }   
	
	
}

 

说明:使用了一个@ResponseBody的注解,Spring3.0 MVC @ResponseBody的作用是把返回值直接写到HTTP response body里,

返回json数据的可以是一个类(看test),或者list(看queryList)。

分享到:
评论

相关推荐

    Spring3.2.2 + Spring MVC3.2.2 + Mybatis3.2.3

    采用Maven管理,整理Spring3.2.2 + Spring MVC3.2.2 + Mybatis3.2.3。 本实例已经实现多对多关系,下载后请选择导入maven项目。 另:数据库已经删除表关联关系。

    spring mvc3.2.3+ myibatis3.2.2

    spring mvc3.2.3+ myibatis3.2.2 分 dao service pojo mapper controllor等层,有敢于网上下载多不适用,故作一层次分明功能较全面(列表,登录验证,增加)的功能验证性web程序以为分享,因程序为功能验证性程序,...

    spring 3.2.2 + quartz 2.1 定时器 需要的包整理

    spring 3.2.2 + quartz 2.1 需要的包 包括 quartz-2.1.5.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar spring-context-support-3.2.0.RELEASE.jar

    基于最新的SSH(Struts2.3.12+Spring3.2.2+Hibernate4.20)+ jquery EasyUI1.3.2的担保公司OA系统

    标题中的“基于最新的SSH(Struts2.3.12+Spring3.2.2+Hibernate4.2.0)+ jquery EasyUI1.3.2的担保公司OA系统”表明这是一个集成开发的Web应用程序,主要用于担保公司的办公自动化(OA)。SSH是Struts2、Spring和...

    Mybatis 3.2.2 + Spring MVC 3.2

    标题 "Mybatis 3.2.2 + Spring MVC 3.2" 描述了一个整合了Mybatis和Spring MVC两个框架的项目,版本分别为3.2.2和3.2。这个项目应该是一个简单的Web应用程序,它允许开发者通过Spring MVC处理前端请求,并利用...

    spring3.2.2+struts2.3.14整合

    spring3.2.2+struts2.3.14整合的一个登录实例。 数据库使用的是ORACLE,如使用其他数据库请自行导入所需JAR包,并修改配置文件datasource.properties。 环境:eclipse+tomcat7.0+JDK1.7+spring3.2.2+struts2.3.14,...

    myEclipse2013+spring-mvc+mybatis3.2.2实现增删改查简单完整版

    myEclipse2013+spring-mvc+mybatis3.2.2实现增删改查简单完整版,可在myEclipse2013自带的Tomcat 7上运行,weblogic上可能有问题,有ModelMap 和ModelAndView的简单使用比较,ModelMap用起来更方便简洁。也使用到了c...

    spring3.2.2+struts2.3.14整合实例

    spring3.2.2+struts2.3.14整合的一个登录实例。 数据库使用的是ORACLE,如使用其他数据库请自行导入所需JAR包,并修改配置文件datasource.properties。 环境:eclipse+tomcat7.0+JDK1.7+spring3.2.2+struts2.3.14,...

    旅游智能CRM系统源码 旅游公司管理游客系统 Thinkphp3.2.2+bootstrap内核

    旅游智能CRM系统源码 旅游公司管理游客系统 Thinkphp3.2.2+bootstrap内核 Thinkphp3.2.2+bootstrap旅游智能CRM系统源码 基于ThinkPHP框架开发的旅游智能CRM系统,为旅游公司精心打造的管理游客的一款系统,系统包含...

    spring3.2.2+mybatis3.1-lib

    本文将深入探讨"spring3.2.2+mybatis3.1-lib"的整合过程及其相关知识点。 首先,Spring是一个全面的后端开发框架,它提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP...

    spring3.2.5+springmvc3.2.5+mybatis3.2.2+junit4.4+mysql

    这是一个基于Spring 3.2.5、Spring MVC 3.2.5、MyBatis 3.2.2和JUnit 4.4的Java Web项目,搭配MySQL数据库的开发环境配置。这个压缩包包含了构建一个功能完备的后端服务所需的基础组件。下面将详细介绍这些技术及其...

    Struts2.3.12+Spring3.2.2+Hibernate4.2.0框架配置

    在本文中,我们将深入探讨如何配置Struts2.3.12、Spring3.2.2和Hibernate4.2.0这三个组件。 1. **Struts2.3.12** Struts2是Apache软件基金会的一个开源MVC框架,用于构建基于Java Servlet的应用程序。它提供了强大...

    SSH(struts2.3.8+spring3.2.2+hibernate4.2.0)整合demo

    这个"SSH(struts2.3.8+spring3.2.2+hibernate4.2.0)整合demo"是一个示例项目,旨在帮助初学者理解如何将这三个框架协同工作,实现用户注册和用户列表的功能。 Struts2作为MVC(模型-视图-控制器)框架,主要负责...

    最新版本Struts2.3.12+Spring3.2.2+Hibernate4.2.0框架配置详细步骤

    Struts2、Spring和Hibernate是Java开发中常用的三大开源框架,它们组合在一起被称为SSH(Struts2、Spring、Hibernate)框架。SSH框架的整合能够帮助开发者实现MVC(Model-View-Controller)设计模式,提高应用程序的...

    最新版本Struts2.3.12+Spring3.2.2+Hibernate4.2.0框架配置详细步骤.docx

    Struts2、Spring和Hibernate(SSH)是Java Web开发中常用的三大开源框架,它们的集成可以构建出高效、可维护的MVC应用。本文档详细介绍了如何配置最新版本的Struts2.3.12、Spring3.2.2和Hibernate4.2.0,以帮助...

    Spring mvc实现Restful返回json格式数据实例详解

    在本示例中,我们将向您展示如何将对象转换成json格式并通过spring mvc框架返回给用户。 使用技术及环境: Spring 3.2.2.RELEASE Jackson 1.9.10 JDK 1.6 Eclipse 3.6 Maven 3 PS:在spring 3 中,要输出json...

    最新版本Struts2.3.12+Spring3.2.2+Hibernate4.2.0配置xml和详细步骤

    Struts2、Spring和Hibernate是Java Web开发中的三大主流框架,它们共同构建了一个强大的MVC(Model-View-Controller)架构。在这个配置中,Struts2作为表现层框架,Spring作为业务逻辑层和依赖注入框架,Hibernate则...

    jbpm3.2.2+spring2.5+hibernate3.0+struts2.0

    jbpm3.2.2集成了持久化框架Hibernate,使得流程实例和相关数据可以方便地存储和检索。 【Spring2.5】 Spring是一个全面的Java企业级应用开发框架,2.5版本是其历史上的一个重要里程碑。它强调了依赖注入...

    mybatis-3.2.2 + spring 3.2(内有jar包直接能运行)

    标题 "mybatis-3.2.2 + spring 3.2(内有jar包直接能运行)" 提供了一个集成项目的信息,它结合了MyBatis 3.2.2版本和Spring 3.2.2版本。这个项目是设计为可以直接在Eclipse环境中运行的,表明它已经包含了所有必要的...

Global site tag (gtag.js) - Google Analytics