我的開發環境
框架:        springmvc+spring+freemarker
開發工具: springsource-tool-suite-2.9.0
JDK版本: 1.6.0_29
tomcat版本:apache-tomcat-7.0.26

前置文章-SpirngMVC配置入門 http://www.cnblogs.com/sunang/p/3419544.html

      Spring整合Freemarker http://www.cnblogs.com/sunang/p/3419676.html

@ResponseBody用于在controller方法中直接返回一個數據對象,常用于Ajax交互中,本文用Ajax交互的例子來演示下該註釋的用法。

step1.由於Ajax傳輸數據用到JSON,所以要先添加JSON依賴如下:

Maven代碼如下:

<!-- JSON -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.8.4</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.8.4</version>
</dependency>

在spring配置文件中加入JSON所需配置,此處以spring-servlet.xml為例,代碼如下:

<!-- JSON所需配置 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter" />
</list>
</property>
</bean>
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>

step2.編寫頁面ajaxGetMsg.ftl,代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- 引入jquery文件-->
<script type="text/javascript" src="../js/jquery.js"></script>
<title>Insert title here</title>
</head>
<body>
<span id="content">
<!-- 點擊按鈕后調用getMsg()方法-->
<button type="button" onclick="javascript:getMsg();">@ResponseBody結合Ajax例子演示</button>
</span>
</body>
</html>
<script type="text/javascript">
function getMsg(){
var content = "";
//ajax訪問controller方法,利用@ResponseBody返回數據對象
$.ajax({
async:false,
cache : false,
type : 'POST',
dataType : "json",
url:"ajaxGetMsg.htm",
success:function(data){
$.each(data, function(i,obj){
content=content+obj;
});
$("#content").html(content);
},
error:function(){
alert("加载失败");
return;
}
});
}
</script>

step3.編寫controller方法,代碼如下:

package www.asuan.com.controller;

import java.util.ArrayList;
import java.util.List; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
@RequestMapping("/learnMVC")
public class LearnMVCController {
//前往初始頁面
@RequestMapping("/indexPage")
public String indexPage(){
return "ajaxGetMsg.ftl";
}
//Ajax交互方法
@RequestMapping("/ajaxGetMsg")
@ResponseBody
public List<String> ajaxGetMsg() {
List<String> strList = new ArrayList<String>();
strList.add("學");
strList.add("習");
strList.add("Spring");
strList.add("M");
strList.add("V");
strList.add("C");
return strList;
}
}

indexPage()方法用於訪問初始頁面,ajaxGetMsg()方法上加了@ResponseBody註釋,所以該方法可以直接向頁面返回數據對象,該方法的返回數據類型為List<String>.

step4.運行調試

部署運行項目,瀏覽器訪問:http://localhost:8080/你的工程名/learnMVC/indexPage.htm

運行結果如下:

點擊按鈕,ajax加載數據得到如下結果:

complete!

系列文章鏈接:

SpringMVC常用注解實例詳解:@Controller,@RequestMapping,@RequestParam,@PathVariable   http://www.cnblogs.com/sunang/p/3421707.html

SpringMVC常用注解實例詳解:@ModelAttribute                                                                    http://www.cnblogs.com/sunang/p/3423227.html

SpringMVC常用注解實例詳解3:@ResponseBody的更多相关文章

  1. SpringMVC常用注解實例詳解2:@ModelAttribute

    我的開發環境框架:        springmvc+spring+freemarker開發工具: springsource-tool-suite-2.9.0JDK版本: 1.6.0_29tomcat ...

  2. SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable

    我的開發環境 框架:        springmvc+spring+freemarker 開發工具: springsource-tool-suite-2.9.0 JDK版本: 1.6.0_29 to ...

  3. SpringMVC 常用注解 详解

    SpringMVC 常用注解 详解 SpringMVC 常用注解 1.@RequestMapping                                      路径映射 2.@Requ ...

  4. 转:springmvc常用注解标签详解

    Spring5:@Autowired注解.@Resource注解和@Service注解 - IT·达人 - 博客园--这篇顺序渐进,讲得超级好--此人博客很不错http://www.cnblogs.c ...

  5. springmvc常用注解与类型转换

    springmvc常用注解与类型转换 一:前置 spring -servlet.xml 注入 <!-- 启用spring mvc 注解 --> <context:annotation ...

  6. SpringMVC常用注解@Controller,@Service,@repository,@Component

    SpringMVC常用注解@Controller,@Service,@repository,@Component controller层使用@controller注解 @Controller 用于标记 ...

  7. 一 : springmvc常用注解

    springmvc常用注解详解1.@Controller在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层 ...

  8. Spring 和 SpringMVC 常用注解和配置(@Autowired、@Resource、@Component、@Repository、@Service、@Controller的区别)

    Spring 常用注解 总结内容 一.Spring部分 1.声明bean的注解 2.注入bean的注解 3.java配置类相关注解 4.切面(AOP)相关注解 5.事务注解 6.@Bean的属性支持 ...

  9. SpringMVC常用注解,返回方式,路径匹配形式,验证

    常用注解元素 @Controller 标注在Bean的类定义处 @RequestMapping 真正让Bean具备 Spring MVC Controller 功能的是 @RequestMapping ...

随机推荐

  1. 策划了个.NET控件的案例大赛

    任何一个产品的普及,都有一个过程: 1. 对新事物充满热情.喜欢尝鲜.或后急迫需要的人首先成为产品用户.他们总数很少,但是是产品用户的第一批种子. 2. 思想比较开放.能接受新事物的人会成为第二批用户 ...

  2. MFC窗口乱弹问题

    操作过程将子窗口放到主窗口的OnInitDialog函数和OnPaint函数中调用,在本机没有异常,放到其他机器上发现子窗口莫名其妙的被调用,跟踪发现主窗口这两个函数不止调用一次,中间会因为其他如按钮 ...

  3. jquery each循环,

    jquery each循环,要实现break和continue的功能: break----用return false; continue --用return ture; each()函数是基本上所有的 ...

  4. Camtasia Studio屏幕录像安装与破解

    Camtasia Studio汉化版是一款功能强大的屏幕录像工具,能在任何颜色模式下轻松地记录屏幕动作,包括影像.音效.鼠标移动轨迹.解说声音等.Camtasia Studio具有强大的视频播放和视频 ...

  5. C# basic

    1. output Console.WriteLine("hello world"); 2. naming convention variable: start with lowe ...

  6. javascript for循环练习

    有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几年后有多少对兔子,幼兔.小兔.成兔对数分别是多少. 幼兔 1 小兔 0 成兔 0幼兔 0 小兔 1 成兔 0 幼兔 1 小兔 ...

  7. hdu 1387(Team Queue) STL

    Team Queue Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  8. c++ cout介绍与实现自己的cout

    C++编程语言互换流中的标准输出流,需要iostream支持.读为 "c out([si:‘aʊt]". 名字 cout 类型 std::ostream 读为 "c ou ...

  9. Centos7.0安装配置PHP7.0

    YUM安装所需开发包 yum install wget make gcc gcc-c++ bison autoconf patch \ pcre-devel zlib-devel openssl-de ...

  10. 浏览器缓存详解:expires,cache-control,last-modified,etag详细说明

    最近在对CDN进行优化,对浏览器缓存深入研究了一下,记录一下,方便后来者 画了一个草图: 每个状态的详细说明如下: 1.Last-Modified 在浏览器第一次请求某一个URL时,服务器端的返回状态 ...