zoukankan      html  css  js  c++  java
  • springMvc请求的跳转和传值的方法

    forword跳转页面的三种方式:

    1.使用serlvet

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /**
       * 使用forward跳转,传递基本类型参数到页面
       *   注意:
       *     1.使用servlet原生API Request作用域
       *    
       */
      @RequestMapping("/test")
      public String test(HttpServletRequest request,HttpServletResponse response){
        String name = "张小三";
        request.setAttribute("name",name);
        return "/back/attr";
      }

    2.使用Model对象

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /**
       * 使用forward跳转,传递基本类型参数到页面
       *   注意:
       *     1.使用springmvc 封装好的Model对象(底层就是request作用域)
       */
      @RequestMapping("/test1")
      public String test1(Model model){
        String name = "张小四";
        model.addAttribute("name", name);
        return "back/attr";
         
      }

    3.使用ModelAndView

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /**
       * 使用modelAndView
       *   注意事项
       *     modelAndView对象中的数据只能被ModelAndView对象的视图获取
       */
      @RequestMapping("/test2")
      public ModelAndView test2(ModelAndView modelAndView){
        String name = "张小五";
        modelAndView.setViewName("back/attr");
        modelAndView.addObject("name", name);
        return modelAndView;
          
      }

    当然也可以通过new 一个ModelAndView对象来实现

    1
    2
    3
    4
    5
    @RequestMapping("/test3")
      public ModelAndView test3(){
        String name = "张小六";
        return new ModelAndView("back/attr", "name", name);
      }

    forword跳转到Controller中的方法:

    跳转到相同类中的方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    /**
       * 使用forword跳转到相同类中的某一方法
       * 注意:
       *     1.不需要加上类上的@RequestMapping的值
       */
      @RequestMapping("/test00")
      public String test00(){
        return "forward:test1";
      }

    跳转到不同类中的方法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    /**
       * 使用forword跳转到不同类中的某一方法
       * 注意:
       *     1.需要加上类上的@RequestMapping的值:比如 :/hello
       */
      @RequestMapping("/test01")
      public String test01(){
        return "forward:/hello/test";
      }

    redirect跳转到页面:

     使用servlet

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    /**
       * 使用redirect跳转 向页面传递数据
       *     1.使用Servlet原生API Session ServletContext
       */
       
      @RequestMapping("/test4")
      public String test4(HttpServletRequest request,HttpSession session){
        String name = "张晓霞";
        session.setAttribute("name", name);
        return "redirect:/back/attr.jsp";
      }

    使用ModelAndView

    1
    2
    3
    4
    5
    6
    7
    8
    /**
       * 使用redirect跳转 向页面传递数据
       *     1..使用ModelAndView对象 modelAndView对象会把model中的数据以?形式拼接到地址栏后 可以使用${param.key}接受
       */
      @RequestMapping("/test5")
      public ModelAndView test5(){
        return new ModelAndView("redirect:/back/attr.jsp","name","小张张");
      }

    redirect跳转到Controller中的方法:

    跳转到同类和不同类的方法都需要加上类上的@RequestMapping,就不粘出测试代码了

  • 相关阅读:
    转:python时间日期处理小结
    vi 的一些常用操作-君子善假于物也
    没有了老师,该如何学习?
    git常用命令
    python 读配置文件
    Python中unittest用法实例
    python 单元测试unnitest-摘录自http://www.cnblogs.com/hackerain/p/3682019.html#undefined
    纯CSS实现立方体旋转
    CSS 3动画
    CSS 2D转换
  • 原文地址:https://www.cnblogs.com/efforts-will-be-lucky/p/7404960.html
Copyright © 2011-2022 走看看