为了便于接收和处理Ajax请求,SpringMVC提供了JSON响应的支持,可以很方便地将数据自动转换成JSON格式的字符串给客户端JavaScript返回。
在Spring MVC中,与JSON响应相关的注解为@ResponseBody
@ResponseBody应用
@ResponseBody注解主要用于Controller组件的处理方法前,具体使用方法如下:
1,引入jar包
jackson-annotations-2.4.1.jar
jackson-core-2.4.1.jar
jackson-databind-2.4.1.jar
2,在Spring配置文件中定义<mvc:annotation-driver/>,开启对@ResponseBody的支持
3,在Controller处理方法前定义@ResponseBody注解
下面看看@ResponseBody应用案例
1)返回单个值
2)返回多个值
3)返回对象
4)返回集合
5)返回对象集合
/** * 演示Spring对异步请求的处理, * 如何将数据做成json输出给客户端。 */ @Controller @RequestMapping("/test") public class JsonController { /** * 使用@ResponseBody注解声明该方法处理的是异步请求, * Spring会自动的将返回值做成json输出给客户端。 */ @RequestMapping("/test1.do") @ResponseBody public boolean test1() { //如果返回的是基本类型的数据, //Spring会直接将值输出给客户端。 //即true return true; } /** * 将Map做成json输出 */ @RequestMapping("/test2.do") @ResponseBody public Map<String, Object> test2() { Map<String,Object> map = new HashMap<String, Object>(); map.put("success", true); map.put("message", "操作成功."); //{"success":true,"message":"操作成功."} return map; } /** * 将集合做成json输出 */ @RequestMapping("/test3.do") @ResponseBody public List<Object> test3() { List<Object> list = new ArrayList<Object>(); list.add("Tarena"); list.add("JSD1407"); //["Tarena","JSD1407"] return list; } /** * 将实体对象做成json输出 */ @RequestMapping("/test4.do") @ResponseBody public Emp test4() { Emp e = new Emp(); e.setEmpno(1); e.setEname("zs"); e.setJob("营业员"); e.setSal(3000.0); //{"empno":1,"ename":"zs","job":"营业员"...} return e; } /** * 将一组对象做成json输出 */ @RequestMapping("/test5.do") @ResponseBody public List<Emp> test5() { List<Emp> list = new ArrayList<Emp>(); Emp e = new Emp(); e.setEmpno(1); e.setEname("zs"); e.setJob("营业员"); e.setSal(3000.0); list.add(e); Emp e2 = new Emp(); e2.setEmpno(2); e2.setEname("ls"); e2.setJob("经理"); e2.setSal(5000.0); list.add(e2); //[{"empno":1,"ename":"zs","job":"营业员"...}, //{"empno":2,"ename":"ls","job":"经理"...}] return list; } }
jsp页面引入JQuery插件,就可以发送Ajax请求了。
$.post( "searchEmp.do", {"empNo":emp_no}, function(data) { if(data=="") { //没有查询到员工 $("#emp_msg").text("不存在此员工.").addClass("error_msg"); } else { //查询到了员工 $("#emp_msg").text("员工有效.").removeClass("error_msg"); $("#emp_id").val(data.account_id); } } );
Controller代码
@RequestMapping("/searchEmp.do") @ResponseBody public Account searchEmp(String empNo) { return empDao.findByEmpNo(empNo); }
相关推荐
通过“安卓Android源码——解析json_dome.zip”的学习,开发者可以更好地掌握JSON解析技术,从而在Android应用中高效地处理服务器返回的数据。结合实践,不断熟悉和熟练这些方法,将有助于提升你的Android开发技能。
1. 解压并加载GeoJSON文件:首先,你需要将"geojson——全国json(中国、省份、区县).rar"解压缩,然后通过Ajax或fetch等方法获取JSON文件内容。 2. 配置ECharts:在ECharts的配置项中,设置`geo`或`map`系列的`...
这个“安卓Andriod源码——解析json_dome.zip”压缩包很可能包含了一些示例代码,教你如何在Android平台上解析JSON数据。让我们深入探讨一下Android中解析JSON的相关知识点。 首先,理解JSON的结构至关重要。JSON是...
AjaxJson 是一种在 Web 应用程序中实现异步数据交换的技术,它结合了 AJAX(Asynchronous JavaScript and XML)和 JSON(JavaScript Object Notation)的优势,使得网页可以在不刷新整个页面的情况下与服务器进行...
在这个例子中,服务器端通过`JsonResult`返回JSON格式的用户信息,客户端通过AJAX请求获取这些信息并解析显示。 **五、总结** AJAX+JSON在.NET环境中的应用大大提高了Web应用程序的交互性和效率,减少了不必要的...
在Web开发中,JSON与AJAX(Asynchronous JavaScript and XML)常常结合使用,实现网页的异步更新,提升用户体验。 AJAX允许Web应用程序在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。这种...
它基于JavaScript语法,但被设计为独立的语言,因此任何支持JSON的编程语言都可以方便地处理JSON数据。在前端开发中,JSON通常用于从服务器获取或发送数据,例如用户信息、文章列表等。 AJAX,即异步JavaScript和...
3. 在前端处理返回的JSON数据:在$.ajax()方法的success回调函数中,返回的数据会被处理。这里使用了eval()函数来转换字符串形式的JSON数据为JavaScript对象。然而,在实际开发中,出于安全考虑,不建议使用eval()...
Struts2提供了对JSON(JavaScript Object Notation)的支持,使得Ajax集成变得更加方便。 JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它通常用于前后端之间的数据传递,特别是...
在"json.rar_Highstock json_JSON_ajax json_json Ajax Java"这个主题中,我们主要探讨的是JSON与Highstock、AJAX以及Java的结合应用。Highstock是Highcharts的一个扩展,专门用于绘制时间序列数据的股票或一般金融...
当与JSON结合时,我们通常会使用`dataType: 'json'`设置来告诉jQuery期待服务器返回JSON格式的数据。收到数据后,可以使用`$.parseJSON()`或jQuery自动解析功能将JSON字符串转换为JavaScript对象,然后在页面上进行...
总的来说,Ajax结合JSON提供了一种高效且易于处理的客户端与服务器之间的数据交互方式。通过`json.js`和`json.jar`这样的工具,我们可以方便地在JavaScript和Java环境中进行JSON的序列化和反序列化操作,从而实现...
这篇“json系列文章——json的使用”将深入探讨JSON的基本概念、语法以及在实际开发中的应用。 1. JSON的基本结构 JSON由键值对组成,以大括号 `{}` 包裹。键用双引号 `"key"` 指定,值可以是字符串、数字、布尔值...
PHP与AJAX返回json数据调用.zip
当与服务端进行JSON数据交换时,客户端会将数据序列化为JSON格式发送到服务器,并接收服务器返回的JSON数据进行反序列化。Android SDK内置了org.json库,可以方便地进行JSON对象的创建、解析和操作。例如,创建一个...
总结起来,这个案例展示了如何利用AJAX与本地服务器进行交互,获取和提交JSON数据。通过创建XMLHttpRequest对象、设置请求参数和处理响应,以及在服务器端处理请求,我们可以实现在客户端和服务器之间的无刷新数据...
在处理Ajax返回的JSON(JavaScript Object Notation)数据时,可能会遇到一些问题,尤其是当JSON数据中包含换行符时。本文将深入探讨这个问题,以及如何正确地处理这种情况。 首先,JSON是一种轻量级的数据交换格式...
JSON与AJAX在Web开发中的结合是常见的实践。当需要使用AJAX向服务器发送请求时,JSON常作为数据交换格式,因为它解析速度快,数据体积小,且易于人类阅读。JSON格式的数据可以直接被JavaScript对象解析,简化了数据...
通过Ajax获取JSON数据以我之前写的与用户交互的动态清单列表为例,现在把模型中的数据单独写成一个JSON文件,再通过发起Ajax请求的方式获取JSON数据。这样,清单列表中的数据项就都是通过JSON数据来获取的了。