首页 > 代码库 > springmvc 之 处理方法的返回值类型
springmvc 之 处理方法的返回值类型
1. void: 并且没有使用servletapi进行跳转,那么默认会将请求名作为试图名进行跳转。
@RequestMapping("/login") public void login(User user){ }
结果:
void: 在参数中使用了servletapi,并且在方法中使用servletapi进行了跳转。那么按照servletapi跳转的位置进行跳转。
@RequestMapping("/login") public void login(HttpServletRequest req,HttpServletResponse resp){ try { req.getRequestDispatcher("success.jsp").forward(req, resp); } catch (ServletException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
结果:
使用servletAPI跳转页面,那么通过servletAPI来携带数据可以的,但是通过mvc的模型数据不能携带数据。
2. ModelAndView 返回null 的时候,页面不会跳转。
@RequestMapping("/login") public ModelAndView login(){ System.out.println("login=========="); return null; }
当返回值没有指定视图名时,默认使用请求名作为视图名进行跳转。
@RequestMapping("/login") public ModelAndView login(){ return new ModelAndView(); }
当返回值指定了视图名,那么按照指定的试图名进行跳转。
3. String: 如果返回值时null,那么以请求名作为视图名跳转。
如果指定返回值,那么按照指定返回值作为视图名进行跳转,可以通过model,modelmap等携带数据
如果返回值时带有“forword” 或者 “redired” 前缀,那么将会进行相应的请求转发和重定向,不能通过mvc的数据模型携带数据,可以通过servletApi来携带数据。
4. 其他类型:只能在异步时可以通过json返回。
springmvc 之 处理方法的返回值类型
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。