1、直接把表单的参数写在方法的形参中,通过url将参数携带过来,适用于get方式提交的数据
@RequestMapping(value="first",method=RequestMethod.GET)
public void getParamter(String username,String password){
System.out.println(username);
System.out.println(password);
}
http://localhost:8080/testmaven_springmvc/user/first?username=aa&password=aa ,可以通过form表单的get方式或超链接的方式,注意表单的参数要和方法中的参数名一致。
2、通过HttpRequestServlet获取请求参数,这种方式get或者post都适合
@RequestMapping(value="second",method=RequestMethod.GET)
public void getParamter2(HttpServletRequest request,HttpServletResponse response){
String userName=request.getParameter("username");
System.out.println(userName);
}
注意表单的参数名和getParameter()中的参数名一致
3、通过一个pojo对象``来接收参数,get或者post方式都可以
@RequestMapping(value="thrid",method=RequestMethod.POST)
public void getParamter3(User user){
System.out.println(user.getUserName());
}`
4、通过@PathVarliable获取路径中的参数
public void getParamter4(@PathVariable("userName")String name,@PathVariable("userPassword")String pwd,HttpSession session){
System.out.println("userName"+name+"userPassword"+pwd);
}
这种url风格时基于restful形式的,对应的url是url:"user_restful/login/restful/uname/"+name+"/upwd/"+password+"/toController"
5、通过ModelAttribute获取form表单post参数
@RequestMapping(value="/addUser5",method=RequestMethod.POST)
public String addUser5(@ModelAttribute("user") UserModel user) {
System.out.println("username is:"+user.getUsername());
System.out.println("password is:"+user.getPassword());
return "index"
}
6、用注解@RequestParam绑定请求参数到方法入参
当请求参数username不存在时会有异常发生,可以通过设置属性required=false解决,例如: @RequestParam(value=“username”, required=false)`
@RequestMapping(value="/addUser6",method=RequestMethod.GET)
public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
}