Spring MVC Controller之间跳转问题

  现分为两种情况

  情况一:Controller A 带request,response到Controller B

  方法一:

        // 方法一使用 InternalResourceView对象的render方法 重定向 注:内部资源视图 null位置是ModelAndView
        InternalResourceView ir=new InternalResourceView("admin");
        ir.render(null, request, response); 

  方法二:

    //原始方法得到Servlet的上下文,通过它得到请求调配机
     this.getServletContext().getRequestDispatcher("/admin?user=hello").forward(request, response);
        return null;

  情况二:Controller A  和 Controller B 不需要Request 等内容 主要使用redirect关键字

  方法一:

    //使用Response方法的sendRedirect方法
     response.sendRedirect("admin?user=hello");

  方法二:

  //还是返回一个ModelAndView 在参数里面使用重定向
   return new ModelAndView("redirect:admin?user='hello'");

  方法三:

 //在ModelAndView的参数中 使用RidirectView对象
    return new ModelAndView(new RedirectView("admin?user='hello'"));

  Ps:虽然方法挺多,但是大同小异,不需要全部记录,只需要每种情况记住一个

posted on 2014-10-13 10:10  Mr海  阅读(185)  评论(0)    收藏  举报