zoukankan      html  css  js  c++  java
  • 12.SpringMVC核心技术-请求转发和重定向

    默认情况下,跳转到指定的View,使用的是请求转发。也可以显示的进行指出

      此时,需在setViewName()  指定的视图前添加 forword: , 且此时的视图不会再与视图解析器中的前缀和后缀进行拼接

      即必须写出相对于项目根的路径。故此时的视图解析器不再需要前缀和后缀

    两个例子:

    1.返回值为ModelAndView的重定向(jsp页面)

     1 //返回值为 ModelAndView 的 重定向(到jsp页面)
     2     @RequestMapping(value = "/dispatherJSP.do")
     3     public ModelAndView method(String name,int age)  {
     4 
     5         ModelAndView mv = new ModelAndView();
     6         mv.addObject("name", name);
     7         mv.addObject("age",age);
     8         //需在setViewName() 指定的视图前添加 redirect,(默认添加的 forword)才能重定向到 指定资源
     9         //重定向 后,是一个新的request,当把数据添加到Model中 时,会自动往路径后面添加上参数(a.jsp?name=&age=)
    10         mv.setViewName("redirect:/a.jsp");
    11         
    12         return mv;
    13     }

     

    2.返回值为String 的重定向(到Controller)

     1 //返回值为 String 的 重定向 (到 Controller)
     2     @RequestMapping(value = "/dispatherController.do")
     3     public String method2(String name,int age,Model model) {  //参数列表 中有Model,目前只看到这样使用,应该会自动 new 一个 实现类,然后 addAttribute
     4 
     5         model.addAttribute("name", name);
     6         model.addAttribute("age", age);
     7 
     8         return "redirect:temp.do";
     9     }
    10     
    11     //返回值为String 的 转发
    12     @RequestMapping(value = "/temp.do")
    13     public String method3(String name,int age) {
    14         System.out.println("name = " + name);
    15         System.out.println("age = " + age);
    16         return "forward:/a.jsp";
    17     }
  • 相关阅读:
    PAT 天梯赛 L1-048. 矩阵A乘以B 【数学】
    PAT 天梯赛 L1-047. 装睡 【水】
    PAT 天梯赛 L1-047. 装睡 【水】
    PAT 天梯赛 L1-045. 宇宙无敌大招呼 【水】
    PAT 天梯赛 L1-045. 宇宙无敌大招呼 【水】
    PAT 天梯赛 L1-044. 稳赢 【循环】
    PAT 天梯赛 L1-044. 稳赢 【循环】
    PAT 天梯赛 L1-042. 日期格式化 【水】
    PAT 天梯赛 L1-042. 日期格式化 【水】
    PAT 天梯赛 L1-041. 寻找250 【水】
  • 原文地址:https://www.cnblogs.com/xuzekun/p/7410902.html
Copyright © 2011-2022 走看看