SpringMVC-接收请求参数和页面传参

 

1.使用HttpServletRequest获取



[java]  查看纯 文本 打印  





1. @RequestMapping (“/test.do” )    
2. public  String test(HttpServletRequest request){    
3. “name” )    
4.     String pass = request.getParameter(“pass” )    
5. }

  2.Spring会自动将表单参数注入到方法参数,和表单的名称属性保持一致,和Struts2一样。



[java]  查看纯 文本 打印  





1. @RequestMapping (“/test.do” )    
2. public  String test(HttpServletRequest请求,String name,    
3. @RequestParam (“pass” )String password)  //表单属性是pass,用变量密码接收    
4. {    
5.    System.out.println(name);    
6.    System.out.println(密码)    
7. }


  3.自动注入Bean属性



[HTML]  查看普通 拷贝 打印  





1. < form action = “test.do” >     
2. < input name = “name” />     
3. < input name = “pass” />     
4. < input type = “submit” value = “测试” >      
5. </ form >




[HTML]  查看普通 拷贝 打印  





1. //封装的用户类    
2. 公共类User {    
3.   私有字符串名称    
4.   私人字符串传递;    
5. }


[java]  查看纯 文本 打印  





1. @RequestMapping (“/test.do” )    
2. public  String test(用户用户)    
3. {    
4.        System.out.println(name);    
5.        System.out.println(密码)    
6. }


    当控制器组件处理后,向jsp页面传值:

       1)使用HttpServletRequest和Session然后setAttribute(),就和Servlet中一样。

       2)使用ModelAndView对象。

       3)使用ModelMap对象。

       4)使用@ModelAttribute注解。

 

       模型数据会利用HttpServletRequest的属性传值到test.jsp中。



[java]  查看纯 文本 打印  






    1. @RequestMapping (“/test.do” )    
    2. public  ModelAndView test(String name,String pass){    
    3.     user user = userService.test(name,pwd);    
    4. new  HashMap <String,Object>();    
    5. “user” ,user);    
    6. 返回新的 ModelAndView(“成功” ,数据);     
    7. }



          使用ModelMap参数对象示例:

          ModelMap数据会利用HttpServletRequest的属性传值到test.jsp中。



    [java]  查看纯 文本  


    打印

    1. @RequestMapping (“/test.do” )    
    2. public  String test(String name,String pass,ModelMap model){    
    3.     user user = userService.test(name,pwd);    
    4. “user” ,user);    
    5. “name” ,name);    
    6. 回报“成功” ;     
    7. }


          使用@ModelAttribute示例:

          在控制器方法的参数部分或Bean属性方法上使用。

        @ModelAttribute数据会利用HttpServletRequest的属性传值到test.jsp中。



    [java]  查看纯 文本  


    打印

    1. @RequestMapping (“/test.do” )    
    2. public  String test(@ModelAttribute (“user” )User user){    
    3. //去做    
    4. 回报“成功” ;     
    5. }    
    6.     
    7. @ModelAttribute (“name” )    
    8. public  String getName(){    
    9. 返回 名称    
    10. }


           会话存储:

           可以利用HttpServletReequest的getSession()方法。



    [java]  查看纯 文本  


    打印



      1. @RequestMapping (“/test.do” )    
      2. public  String test(String name,String pwd    
      3.                             ModelMap模型,HttpServletRequest请求){    
      4.      用户user = serService.test(name,pwd);    
      5.      HttpSession session = request.getSession();    
      6. “user” ,user);    
      7. “user” ,user);    
      8. 回报“成功” ;     
      9. }



           春季MVC默认采用的是转发来定位视图,如果要使用重定向,可以如下操作:

              1)使用RedirectView。

              2)使用redirect:前缀。



      [java]  查看纯 文本  


      打印


      1. public  ModelAndView test(){    
      2. new  RedirectView(“regirstTest.do” );    
      3. 返回新的 ModelAndView(view);     
      4. } <strong> </ strong>

              或者用如下方法,工作中常用的方法:



      [java]  查看纯 文本  


      打印


      1. public  String test(){    
      2. //去做    
      3. 返回“redirect:regirstTest.do” ;     
      4. }





      SpringMVC-接收请求参数和页面传参

       

      1.使用HttpServletRequest获取



      [java]  查看纯 文本 打印  





      1. @RequestMapping (“/test.do” )    
      2. public  String test(HttpServletRequest request){    
      3. “name” )    
      4.     String pass = request.getParameter(“pass” )    
      5. }


        2.Spring会自动将表单参数注入到方法参数,和表单的名称属性保持一致,和Struts2一样。



      [java]  查看纯 文本 打印  






        1. @RequestMapping (“/test.do” )    
        2. public  String test(HttpServletRequest请求,String name,    
        3. @RequestParam (“pass” )String password)  //表单属性是pass,用变量密码接收    
        4. {    
        5.    System.out.println(name);    
        6.    System.out.println(密码)    
        7. }



          3.自动注入Bean属性



        [HTML]  查看普通 拷贝 打印  






          1. < form action = “test.do” >     
          2. < input name = “name” />     
          3. < input name = “pass” />     
          4. < input type = “submit” value = “测试” >      
          5. </ form >





          [HTML]  查看普通 拷贝 打印  





          1. //封装的用户类    
          2. 公共类User {    
          3.   私有字符串名称    
          4.   私人字符串传递;    
          5. }

          [java]  查看纯 文本 打印  





          1. @RequestMapping (“/test.do” )    
          2. public  String test(用户用户)    
          3. {    
          4.        System.out.println(name);    
          5.        System.out.println(密码)    
          6. }


              当控制器组件处理后,向jsp页面传值:

                 1)使用HttpServletRequest和Session然后setAttribute(),就和Servlet中一样。

                 2)使用ModelAndView对象。

                 3)使用ModelMap对象。

                 4)使用@ModelAttribute注解。

           

                 模型数据会利用HttpServletRequest的属性传值到test.jsp中。



          [java]  查看纯 文本 打印  





          1. @RequestMapping (“/test.do” )    
          2. public  ModelAndView test(String name,String pass){    
          3.     user user = userService.test(name,pwd);    
          4. new  HashMap <String,Object>();    
          5. “user” ,user);    
          6. 返回新的 ModelAndView(“成功” ,数据);     
          7. }



                使用ModelMap参数对象示例:

                ModelMap数据会利用HttpServletRequest的属性传值到test.jsp中。



          [java]  查看纯 文本  


          打印


          1. @RequestMapping (“/test.do” )    
          2. public  String test(String name,String pass,ModelMap model){    
          3.     user user = userService.test(name,pwd);    
          4. “user” ,user);    
          5. “name” ,name);    
          6. 回报“成功” ;     
          7. }


                使用@ModelAttribute示例:

                在控制器方法的参数部分或Bean属性方法上使用。

              @ModelAttribute数据会利用HttpServletRequest的属性传值到test.jsp中。



          [java]  查看纯 文本  


          打印


          1. @RequestMapping (“/test.do” )    
          2. public  String test(@ModelAttribute (“user” )User user){    
          3. //去做    
          4. 回报“成功” ;     
          5. }    
          6.     
          7. @ModelAttribute (“name” )    
          8. public  String getName(){    
          9. 返回 名称    
          10. }


                 会话存储:

                 可以利用HttpServletReequest的getSession()方法。



          [java]  查看纯 文本  


          打印

          1. @RequestMapping (“/test.do” )    
          2. public  String test(String name,String pwd    
          3.                             ModelMap模型,HttpServletRequest请求){    
          4.      用户user = serService.test(name,pwd);    
          5.      HttpSession session = request.getSession();    
          6. “user” ,user);    
          7. “user” ,user);    
          8. 回报“成功” ;     
          9. }


               春季MVC默认采用的是转发来定位视图,如果要使用重定向,可以如下操作:

                  1)使用RedirectView。

                  2)使用redirect:前缀。



          [java]  查看纯 文本  


          打印



            1. public  ModelAndView test(){    
            2. new  RedirectView(“regirstTest.do” );    
            3. 返回新的 ModelAndView(view);     
            4. } <strong> </ strong>



                    或者用如下方法,工作中常用的方法:



            [java]  查看纯 文本  


            打印


            1. public  String test(){    
            2. //去做    
            3. 返回“redirect:regirstTest.do” ;     
            4. }