1、导入jar包

jack-core-asl-1.9.11.jar

jack-mapper-asl-1.9.11.jar

2、配置springmvc-servlet.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <context:component-scan base-package="com.wh"></context:component-scan> <mvc:annotation-driven ></mvc:annotation-driven> <!-- 配置解析JSON类型 -->
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
</list>
</property>
</bean> </beans>

3、编写javascript的ajax和后台springmvc的控制器

handler.java

package com.wh.handler;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
public class TestResponseBody {
/**
* 返回一个字符串的json格式
*
* produces="text/html;charset=UTF-8"
* 声明返回的类型
*/
@RequestMapping(value="/dealAjax.action",produces="text/html;charset=UTF-8")
public @ResponseBody String dealAjax(){
return "成功";
}
/*
<script type="text/javascript" src="${pageContext.request.contextPath}/bootstrap/js/jquery.js"></script>
<script>
$(function() {
$('button').click(function() {
$.ajax({
"url" : "dealAjax.action",
"type" : "post"
"data":{"username":"jack"}
}).done(function(result) {
alert(result);
}).fail(function(e) {
alert(e);
});
});
});
</script>
*/ /**
* 返回一个对象的json格式
*
* 传对象时,不能指定为produces="text/html;charset=UTF-8"
*/
@RequestMapping(value="/dealAjax2.action")
public @ResponseBody User dealAjax2(){
User u=new User("张三",20,"男");
return u;
}
/*
<script>
$(function() {
$('button').click(function() {
$.ajax({
"url" : "${pageContext.request.contextPath}/dealAjax2.action",
"type" : "post",
//注意:这里不能加下面这行,否则数据会传不到后台
// "contentType": "application/json;charset=utf-8",
"data":{"username":"jack"}
}).done(function(data) {
console.log("success...");
console.log(data);
alert(data.uname+"----"+data.uage+"----"+data.usex);
//alert(data.uname);
}).fail(function(e) {
console.log("error...");
console.log(e.responseText);
//alert(e);
});
});
});
</script>
*/ /**
* 返回一个list集合的json格式
*
* 传对象时,不能指定为produces="text/html;charset=UTF-8"
*/
@RequestMapping(value="/dealAjax3.action")
public @ResponseBody List<User> dealAjax3(){
List<User> list=new ArrayList<User>();
User u1=new User("张三",20,"男");
User u2=new User("张三",20,"男");
User u3=new User("张三",20,"男");
list.add(u1);
list.add(u2);
list.add(u3);
return list;
}
/*
<script>
$(function() {
$('button').click(function() {
$.ajax({
"url" : "${pageContext.request.contextPath}/dealAjax3.action",
"type" : "post",
//注意:这里不能加下面这行,否则数据会传不到后台
//"contentType": "application/json;charset=utf-8",
"data":{"username":"jack"}
}).done(function(data) {
$.each(data,function(i,item){
console.log("i="+i);
console.log("item"+item);
console.log(item.uname+"---"+item.uage);
});
}).fail(function(e) {
console.log("error...");
console.log(e.responseText);
});
});
});
</script>
*/ /**
* 返回一个Map集合的json格式,且map中的key值写死了
*/
@RequestMapping(value="/dealAjax4.action")
@ResponseBody //此注解不能省略 否则ajax无法接受返回值
public Map<String,User> dealAjax4(){
Map<String,User> map=new HashMap<String,User>();
map.put("map1",new User("张三",20,"男"));
return map;
}
/*
* <script>
$(function() {
$('button').click(function() {
$.ajax({
"url" : "${pageContext.request.contextPath}/dealAjax4.action",
"type" : "post",
"dataType":"json",
"data":{"username":"jack"}
}).done(function(data) {
alert(data.map1.uname+"-----"+data.map1.uage);
console.log(data.map1+data.map1.uname+"-----"+data.map1.uage);
}).fail(function(e) {
console.log("error...");
console.log(e.responseText);
});
});
});
</script>
*/ /**
* 返回多个Map集合的json格式
* 并在前台遍历输出
* for ( var key in data) {
* console.log(key+"---"+data[key].uname+"---"+data[key].uage);
* }
*/
@RequestMapping(value="/dealAjax5.action") public @ResponseBody Map<String,User> dealAjax5(){
Map<String,User> map=new HashMap<String,User>();
map.put("map1",new User("张三",20,"男"));
map.put("map2",new User("李四",21,"男"));
map.put("map3",new User("王武",22,"男"));
return map;
}
/*
<script>
$(function() {
$('button').click(function() {
$.ajax({
"url" : "${pageContext.request.contextPath}/dealAjax5.action",
"type" : "post",
"dataType":"json",
"data":{"username":"jack"}
}).done(function(data) {
for ( var key in data) {
console.log(key+"---"+data[key].uname+"---"+data[key].uage);
}
}).fail(function(e) {
console.log("error...");
console.log(e.responseText);
});
});
});
</script>
*/
}

遍历map集合的参考地址:http://blog.163.com/xueling1231989@126/blog/static/102640807201461744258436/

数据传递-------@ResponseBody的更多相关文章

  1. postman-接口间数据传递

    接口间数据传递 在我们做接口测试过程中会经常碰到使用上一个接口返回数据的情况,jmeter中可通过正则表达式提取,postman中如何提取呢?我们来看实例,这里使用的同一个接口来演示. ​ 我们提取出 ...

  2. EXTJS中grid的数据特殊显示,不同窗口的数据传递

    //EXTJS中grid的数据特殊显示renderer : function(value, metaData, record, rowIndex, colIndex, store, view) { v ...

  3. Activity系列讲解---数据传递

    在Android中,不同的Activity实例可能运行在一个进程中,也可能运行在不同的进程中.因此需要一种特别的机制帮助我们在Activity之间传递消息.Android中通过Intent对象来表示一 ...

  4. vue2.0 组件之间的数据传递

    组件间的数据传递// 父组件<template><div class="order"><dialog-addpro v-on:closedialog= ...

  5. ASP.NET MVC3中Controller与View之间的数据传递总结

    一.  Controller向View传递数据 1.       使用ViewData传递数据 我们在Controller中定义如下: ViewData["Message_ViewData& ...

  6. ASP.NET MVC3中Controller与View之间的数据传递

    在ASP.NET MVC中,经常会在Controller与View之间传递数据,因此,熟练.灵活的掌握这两层之间的数据传递方法就非常重要.本文从两个方面进行探讨: 一.  Controller向Vie ...

  7. 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

    通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上,因此需要确保您是否掌握了上一节的内容.本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MV ...

  8. MVC数据传递

    一.数据传递 1.ViewData[]: 用法:action中:ViewData["key"]="aaa";,V层接收ViewData["key&qu ...

  9. WinForm登陆:窗体间的数据传递

    1. 登陆逻辑 FrmMain 为主窗体(启动窗体) FrmLogin 为登陆窗体 在“主窗体”中使用ShowDialog()方法显示“登陆窗体”,并通过“登陆窗体”的DialogResult告知“主 ...

随机推荐

  1. 移动端click事件延迟300ms该如何解决

    window.addEventListener( "load", function() {     FastClick.attach( document.body ); }, fa ...

  2. RelativeLayout属性大全

  3. Linux下tomcat的catalina.out屏蔽

    修改catalina.sh ,找到下面的位置: if [ -z "$CATALINA_OUT" ] ; then#CATALINA_OUT="$CATALINA_BASE ...

  4. MongoDB小结01 - MongoDB简介

    我们为什么要去学习MongoDB MongoDB是一种强大.灵活.可扩展的数据存储方式. 丰富的数据模型 MongoDB是面向文档的数据库,不是关系型数据库.它将原来'行'(row)的概念换成了更加灵 ...

  5. Why It is so hard to explain or show some thing

    Why it is hard to explain something or learn something? For example, when I first know the hadoop, I ...

  6. poj3511--A Simple Problem with Integers(线段树求和)

    A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 60441   ...

  7. &times变成x

    昨天晚上遇到一个很尴尬的bug. 当使用IE浏览器,跳转链接使用&传参的时候第二个参数是times,也就是&times(你有可能看到的是x,实际是&times),结果& ...

  8. Iteye已经沦陷

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZHl5YXJpZXM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  9. Oculus Rift DK2 驱动安装教程

    第一次安装oculus rift硬件驱动的教程: 1.   执行驱动的下载网址:https://developer.oculusvr.com/ 下载驱动首先须要拥有一个oculus的帐号.点击Regi ...

  10. bzoj2709: [Violet 1]迷宫花园

    二分答案,spfa check就行了. gb题卡精度. #include<cstdio> #include<iostream> #include<cstring> ...