您的位置:首页 > 编程语言 > Java开发

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

2017-04-01 12:39 525 查看
SpringMVC-接收请求参数和页面传参

 

  1.使用HttpServletRequest获取

[java] 查看纯文本打印 



@RequestMapping (“/test.do” )    

public  String
test(HttpServletRequest request){    

    String name = request.getParameter(“name” )    

    String pass = request.getParameter(“pass” )    

}   

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

[java] 查看纯文本打印 



@RequestMapping (“/test.do” )    

public  String
test(HttpServletRequest请求,String name,    

 @RequestParam (“pass” )String
password)  //表单属性是pass,用变量密码接收    

{    

   System.out.println(name);    

   System.out.println(密码)    

}    

  3.自动注入Bean属性

[HTML] 查看普通拷贝打印 



< form action = “test.do” >     

   用户名:< input name = “name” />     

   密码:< input name = “pass” />     

   < input type = “submit” value = “测试” >      

</ form >    

[HTML] 查看普通拷贝打印 



//封装的用户类    

公共类User {    

  私有字符串名称    

  私人字符串传递;    

}    

[java] 查看纯文本打印 



@RequestMapping (“/test.do” )    

public  String
test(用户用户)    

{    

       System.out.println(name);    

       System.out.println(密码)    

}    

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

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

       2)使用ModelAndView对象。

       3)使用ModelMap对象。

       4)使用@ModelAttribute注解。

 

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

[java] 查看纯文本打印 



@RequestMapping (“/test.do” )    

public  ModelAndView
test(String name,String pass){    

    user user = userService.test(name,pwd);    

    Map <String,Object> data =  new  HashMap
<String,Object>();    

    data.put(“user” ,user);    

    返回新的 ModelAndView(“成功” ,数据);     

}    

      使用ModelMap参数对象示例:

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

[java] 查看纯文本 

打印

@RequestMapping (“/test.do” )    

public  String
test(String name,String pass,ModelMap model){    

    user user = userService.test(name,pwd);    

    model.addAttribute(“user” ,user);    

    model.put(“name” ,name);    

    回报“成功” ;     

}    

      使用@ModelAttribute示例:

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

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

[java] 查看纯文本 

打印

@RequestMapping (“/test.do” )    

public  String
test(@ModelAttribute (“user” )User
user){    

    //去做    

   回报“成功” ;     

}    

    

@ModelAttribute (“name” )    

public  String
getName(){    

    返回 名称    

}    

       会话存储:

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

[java] 查看纯文本 

打印

@RequestMapping (“/test.do” )    

public  String
test(String name,String pwd    

                            ModelMap模型,HttpServletRequest请求){    

     用户user = serService.test(name,pwd);    

     HttpSession session = request.getSession();    

     session.setAttribute(“user” ,user);    

     model.addAttribute(“user” ,user);    

     回报“成功” ;     

}    

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

        1)使用RedirectView。

        2)使用redirect:前缀。

[java] 查看纯文本 

打印

public  ModelAndView
test(){    

   RedirectView view =  new  RedirectView(“regirstTest.do” );    

   返回新的 ModelAndView(view);     

} <strong> </ strong>  

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

[java] 查看纯文本 

打印

public  String
test(){    

    //去做    

    返回“redirect:regirstTest.do” ;     

}    

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: