SpringMvc常见的接受参数的形式

旧街凉风 提交于 2019-12-28 00:54:53

1.使用实体Bean,属性名和请求参数的名称要相同,适用于post ,get。

@RequestMapping("/index")
public String login(User user,HttpSession session,Model model){
    ......
}

2.直接将参数名放在方法中,适用于post ,get。

@RequestMapping("/index")
public String login(String name,String pwd,Model model){
    ......
}

3.通过HttpServletRequest接受请求参数,适用于post ,get。

@RequestMapping("/index")
public String login(HttpServletRequest request,Model model){
    String name =request.getParameter("name");
    String pwd =request.getParameter("password");    
......
}

4.通过@PathVariable接受URL中的请求参数,适用于get。 RequestMapping中的值和参数按照名字自动对应

@RequestMapping("/index/{name}/{password}")
public String login(@PathVariable String name,@PathVariable String password,Model model){

......
}

5.通过@RequestParam接受请求参数,适用于post ,get。和方法2的不同是:当参数名不一致时,方法2不会报404错误,而本方法会报错。

@RequestMapping("/index")
public String login(@RequestParam String name,@Request String password,Model model){

......
}

6.使用@ModelAttribute接受请求参数,适用于post ,get。 此时,就会将接受到的参数,存储在ModelAttribute中,等同于model.addAttribute(“user”,user)

@RequestMapping("/index")
public String login(@ModelAttribute("user") User user){
    
......
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!