SpringMVC_处理器方法的返回值

一、返回ModelAndView

   若处理器方法处理完后,需要跳转到其他资源,且又要在跳转的资源间传递数据,此时处理器方法返回ModelAndView比较好。当然,若要返回ModelAndView,则处理器方法中需要定义ModelAndView对象。

  在使用时,若该处理器方法只是进行跳转而不传递数据,或只是传递数据而并不向任何资源跳转(如对页面的Ajax异步响应),此时若返回ModelAndView,则将总是有一部分多余:要么Model多余,要么View多余,即此时返回ModelAndView将不合适。

即既携带数据又进行页面跳转。

二、返回String

(1)返回内部资源逻辑视图名

处理器方法返回的字符串可以指定逻辑视图名,通过视图解析器可以将其转换物理视图地址。

(2)返回view对象名

三、返回void

(1)通过ServletAPI完成

通过在处理器方法的参数中放入ServletAPI参数,来完成资源跳转时所要传递的数据及跳转。

可在方法参数中放入HTTPServletRequest或HttpSession,使方法中可以直接将数据放入到request、session的域中,也可通过request.getServletContext()获取ServletContext,从而将数据放入到application的域中。

可在方法参数中放入HttpServletRequest与HttpServletResponse,使方法可以完成请求转发与重定向。值得注意,重定向是无法完成对/WEB-INF/下资源的访问。

请求转发:request.getRequestDispatcher(“目标页面”).forward(request.response);

重定向:request.setRedirect(“目标页面”)

 

 

posted @ 2019-11-25 10:36  honghj  阅读(434)  评论(0编辑  收藏  举报