springmvc对ajax的支持

1.就直接的Ajax处理

    只要在Controller的方法里面,直接使用response输出你要返回的的Ajax数据,然后return null就可以了。

@RequestMapping(value = "/hello")
public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response)throws IOException {
     response.setCharacterEncoding("utf-8");
     response.getWriter().println("{uuid:'"+request.getParameter("uuid")+"',name:'"+request.getParameter("name")+"'}");
     return null;
}

2.数据绑定@RequestBody和@ResponseBody

  @RequestBody功能:用于将HttpServletRequest的getInputStream()内容绑定到入参。@ResponseBody功能:用于将ResponseBody方法的返回值作为响应体。他们都只能访问报文体,不能访问报文头。@ResponseBody会把这个对象自动变成json格式的,再传回客户端,非常方便。当然,@ResponseBody也支持集合对象自动变成json格式。

@RequestMapping(value = "/hello")
@ResponseBody
public List<User> handleRequest(@RequestBody String reqBody) {
        System.out.println("the reqBody="+reqBody);
        List<User> list = new ArrayList<User>();
        User user= new User();
        user.setUuid("22");
        user.setName("222");
        list.add(user);
        return list;
}


3. 使用HttpEntity/ResponseEntity来支持Ajax

  使用HttpEntity/ResponseEntity不但能访问到报文体,还可以访问报文头.

@RequestMapping(value = "/hello")
public ResponseEntity<List<User>> handleRequest(HttpEntity<String> req) {
        System.out.println("req headers="+req.getHeaders()+", reqBody="+req.getBody());
        List<User> list = new ArrayList<User>();
        User user = new User();
        user.setUuid("22");
        user.setName("222");
        list.add(user);
        ResponseEntity<List<User>> ret = new ResponseEntity<List<User>>(list,HttpStatus.OK);
        return ret;
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值