SpringMVC响应视图和结果视图详解

目录

  • 1、返回字符串,Model传输数据
  • 2、void(不经常使用)
  • 3、返回ModelAndView完成跳转页面和传输数据
  • 4、forward转发
  • 5、redirect重定向

1、返回字符串,Model传输数据
/*** 返回String* @param model* @return*/@RequestMapping("/testString")public String testString(Model model){System.out.println("testString方法执行了..."); // 模拟从数据库中查询出User对象User user = new User(); user.setUsername("美美"); user.setPassword("123"); user.setAge(30); // model对象model.addAttribute("user",user); return "success"; }


2、void(不经常使用)
/*** 是void* 请求转发一次请求,不用编写项目的名称*/@RequestMapping("/testVoid")public void testVoid(HttpServletRequest request, HttpServletResponse response) throws Exception {System.out.println("testVoid方法执行了..."); // 编写请求转发的程序// request.getRequestDispatcher("/WEB-INF/pages/success.jsp").forward(request,response); // 重定向// response.sendRedirect(request.getContextPath()+"/index.jsp"); // 设置中文乱码response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8"); // 直接会进行响应response.getWriter().print("你好"); return; }


3、返回ModelAndView完成跳转页面和传输数据
/*** 返回ModelAndView* @return*/@RequestMapping("/testModelAndView")public ModelAndView testModelAndView(){// 创建ModelAndView对象ModelAndView mv = new ModelAndView(); System.out.println("testModelAndView方法执行了..."); // 模拟从数据库中查询出User对象User user = new User(); user.setUsername("小凤"); user.setPassword("456"); user.setAge(30); // 把user对象存储到mv对象中,也会把user对象存入到request对象mv.addObject("user",user); // 跳转到哪个页面mv.setViewName("success"); return mv; }

【SpringMVC响应视图和结果视图详解】
4、forward转发
/*** 使用关键字的方式进行转发* @return*/@RequestMapping("/testForwardOrRedirect")public String testForwardOrRedirect(){System.out.println("testForwardOrRedirect方法执行了..."); // 请求的转发return "forward:/WEB-INF/pages/success.jsp"; }


5、redirect重定向
/*** 使用关键字重定向* @return*/@RequestMapping("/testForwardOrRedirect")public String testForwardOrRedirect(){System.out.println("testForwardOrRedirect方法执行了..."); // 重定向return "redirect:/index.jsp"; }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读