SpringMVC Ajax请求

spring使用了jackson类库,帮助我们在Java对象和json、xml数据之间互相转换。他可以将控制器返回的对象直接转换成json数据,供客户端使用。客户端也可以传送json数据到服务器进行直接转换。使用步骤如下:
1、项目中需要引入下面两个jar包
jackson-core-asl-1.7.2jar
jackson-mapper-asl-1.7.2jar
2、spring配置文件中增加:

    <mvc:annotation-driver /><!-- 支持spring3.0新的mvc注解 -->
    <!-- 启动spring MVC的注解功能,完成请求和注解 pojo的映射 -->
      <bean
      class="org.springframevork.web.servlet.mvc.annotaction.AnnotationMoethodHandlerAdapter">  
     <property name="cacheSecconds" value="0" />
     <property name="messageConverters">
       <list>
          <bean
          class="org.springframevork.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
        </list>
     </property>
   </bean>       

3、客户端代码a.jap如下:

    <script>
       function createAjaxObj(){
             var req;
             if(window.XMLHttpRequest){
             req = new XMLHttpRequest();
            }else{
             req = new ActiveXObject("Msxml2.XMLHttp");
            } 
            return req;
    }
    function sendAjaxReq(){
        var req = createAjaxObj();
        req.open("get","myajax.do?method=test1&uname=张三");
        req.onreadystatechange = function(){
        eval("var result="+req.responseText);
document.getElementById("div1").innerHtml = result[0].uname;
        } 
        req.send(null);
    }
    </script>
<body>
  <a href="javascript:void(0);" onclick="sendAjaxReq();">测试</a>
  <div id="div1"></div>
</body>

4、服务器端代码如下:

Pojo User对象

public class User{
  String id;
  String uname;
  String age;
  构造方法(略);
  get/set(略);
}

Controller层:

@Controller
@RequestMapping("myajax.do")
public class MyAjaxController{
  @RequestMapping(params="method=RequestMethod.GET")
  public @ResponseBodyList<User> test1(String name) 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>();
  list.add(new User("小王","123"));
  list.add(new User("小张""456"));
  return list;
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值