码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC经典系列-13使用SpringMVC处理Ajax请求---【LinusZhu】

时间:2014-06-15 18:58:49      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:springmvc处理ajax   springmvc   spring   

      注意:此文章是个人原创,希望有转载需要的朋友们标明文章出处,如果各位朋友们觉得写的还好,就给个赞哈,你的鼓励是我创作的最大动力,LinusZhu在此表示十分感谢,当然文章中如有纰漏,请联系linuszhu@163.com,敬请朋友们斧正,谢谢。

      这一部分主要讲解SpringMVC如何处理Ajax请求,是首先要讲解一下jackson类库,可以帮助我们在java对象和jsonxml数据之间的互相转换。他可以将控制器返回的对象直接转换成json数据,供客户端使用,客户端也可以传送json数据到服务器进行转换,很是方便。

      具体环境搭建步骤如下:

1. 下载两个jackson的jar包:

jackson-core-asl-1.7.2jar、jackson-mapper-asl-1.7.2jar

2.  在SpringMVC配置文件中添加如下部分:

<mvc:annotation-driven />  <!-- 支持spring3.0新的mvc注解 -->

<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->

  <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  

        <property name="cacheSeconds" value="0" />  

        <property name="messageConverters">  

            <list>  

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

            </list>  

        </property>

    </bean>  

3. 客户端代码ajaxTest.jsp如下:

<%@page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>Ajax</title>

<META http-equiv="content-type" CONTENT="text/html;charset=UTF-8">

<script>

function createAjaxObj() {

var req;

if (window.XMLHttpRequest) {

req = new XMLHttpRequest();

else {

req = new ActiveXObject("Msxml2.XMLHTTP"); //ie

}

return req;

}

function sendAjaxReq() {

var req = createAjaxObj();

req.open("get""myajax.do?method=test1&uname=张三");

req.setRequestHeader("accept""application/json");

req.onreadystatechange = function() {

eval("var result=" + req.responseText);

document.getElementById("div1").innerHTML = result[0].uname + "==="

+ result[1].uname + "===" + result[2].uname;

};

req.send(null);

}

</script>

</head>

<body>

<a href="javascript:void(0);" onclick="sendAjaxReq();">Ajax测试</a>

<div id="div1"></div>

</body>

</html>

4. 服务器端代码如下:

package com.spring.ajax;

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.RequestMethod;

import org.springframework.web.bind.annotation.ResponseBody;

import com.spring.bean.User;

@Controller

@RequestMapping("myajax.do")

public class MyAjaxController {

@RequestMapping(params = "method=test1")

public @ResponseBody

List<User> test1(String uname) throws Exception {

String uname2 = new String(uname.getBytes("iso8859-1"), "gbk");

System.out.println(uname2);

System.out.println("MyAjaxController.test1()");

List<User> list = new ArrayList<User>();

User u1 = new User();

u1.setId(111);

u1.setUname("测试1");

User u2 = new User();

u2.setId(222);

u2.setUname("测试2");

User u3 = new User();

u3.setId(333);

u3.setUname("测试3");

list.add(u1);

list.add(u2);

list.add(u3);

return list;

}

}

5. 项目运行测试。

输入地址:http://localhost:8081/SpringMVC02/ajaxTest.jsp ,界面如下:

bubuko.com,布布扣

点击链接进行测试,会调用后台程序,将结果返回到页面上,如下:

bubuko.com,布布扣

 

 

SpringMVC经典系列-13使用SpringMVC处理Ajax请求---【LinusZhu】,布布扣,bubuko.com

SpringMVC经典系列-13使用SpringMVC处理Ajax请求---【LinusZhu】

标签:springmvc处理ajax   springmvc   spring   

原文地址:http://blog.csdn.net/zxs945620754/article/details/30461201

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!