为了便于接收和处理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
安卓Andriod源码——解析json_dome.zip
json2 ajax返回list处理 在jsp页面 遍历
jquery与json和ajax的结合,内容很详细
json ajax ajax框架 json ajax ajax框架
安卓Andriod源码——使用JSON进行网络数据交换(服务端、客户端)的实现.zip
安卓Android源码——使用JSON进行网络数据交换(服务端、客户端)的实现.zip
安卓Andriod源码——利用JSON,通过客户端访问web服务器,实现一个登录功能.zip
安卓Android源码——利用JSON,通过客户端访问web服务器,实现一个登录功能.zip
安卓Android源码——利用JSON,通过安卓Android客户端访问web服务器,实现一个登录功能.rar
安卓Android源码——利用JSON,通过安卓Android客户端访问web服务器,实现一个登录功能.zip
PHP与AJAX返回json数据调用.zip
通过Ajax获取JSON数据以我之前写的与用户交互的动态清单列表为例,现在把模型中的数据单独写成一个JSON文件,再通过发起Ajax请求的方式获取JSON数据。这样,清单列表中的数据项就都是通过JSON数据来获取的了。
AjaxJson 实例 讲解 最基本的用法 给初学者 有很大帮助 这是 本人老师的实例 呵呵
json与ajax基础讲述,很适合初学json的人,自学的推荐用书
在.NET中使用AJAX技术来做服务器端和客户端交互,用JSON做为在异步应用程序中发送和接收信息的数据格式。
保存的数据有换行,处理ajax返回json数据时无法处理出现的错误;
ajax 与 java 之间使用 json 交换数据,JSON到Java 对象的转换,Java对象到JSON的转换。 JSONObject object=new JSONObject(javaBean); String jsonStr=object.toString();
json和ajax的基本使用json和ajax的基本使用json和ajax的基本使用json和ajax的基本使用
创建本地服务器,包含简易JSON链,用ajax发送get,post请求以查找本地服务器中的JSON链