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

springmvc Controller方法返回值

时间:2017-05-31 00:30:45      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:ppi   实现   指定   back   定向   异步请求   send   response   丢失   

1.1返回ModelAndView   不建议使用

1.2返回String   建议使用

@RequestMapping("updateItem")
public String updateItemById(Item item) {
    // 更新商品
    this.itemService.updateItemById(item);

    // 修改商品成功后,重定向到商品编辑页面
    // 重定向后浏览器地址栏变更为重定向的地址,
    // 重定向相当于执行了新的request和response,所以之前的请求参数都会丢失
    // 如果要指定请求参数,需要在重定向的url后面添加 ?itemId=1 这样的请求参数
    return"redirect:/itemEdit.action?itemId=" + item.getId();
}
@RequestMapping("updateItem")
public String updateItemById(Item item) {
    // 更新商品
    this.itemService.updateItemById(item);

    // 修改商品成功后,重定向到商品编辑页面
    // 重定向后浏览器地址栏变更为重定向的地址,
    // 重定向相当于执行了新的request和response,所以之前的请求参数都会丢失
    // 如果要指定请求参数,需要在重定向的url后面添加 ?itemId=1 这样的请求参数
    // return "redirect:/itemEdit.action?itemId=" + item.getId();

    // 修改商品成功后,继续执行另一个方法
    // 使用转发的方式实现。转发后浏览器地址栏还是原来的请求地址,
    // 转发并没有执行新的request和response,所以之前的请求参数都存在
    return"forward:/itemEdit.action";

}

 

1.3. 返回void   一般是ajax异步请求返回json数据时候使用

       在Controller方法形参上可以定义request和response,使用request或response指定响应结果:

1、使用request转发页面,如下:    不常用,

request.getRequestDispatcher("页面路径").forward(request, response);

request.getRequestDispatcher("/WEB-INF/jsp/success.jsp").forward(request, response);

 

2、可以通过response页面重定向:    不常用,

response.sendRedirect("url")

response.sendRedirect("/springmvc-web2/itemEdit.action");

 

3、可以通过response指定响应结果,例如响应json数据如下:

response.getWriter().print("{\"abc\":123}");   /// 手动拼接成json串返回

springmvc Controller方法返回值

标签:ppi   实现   指定   back   定向   异步请求   send   response   丢失   

原文地址:http://www.cnblogs.com/lxboy2009/p/6921743.html

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