SpringMVC获取页面参数的五种方法

第一种:使用HttpServletRequest作为SpringMVC 控制器里面方法的参数,同Servlet中使用Request对象获取页面参数的方法一样

@Controller  
@RequestMapping("/user")
public class UserController
/**
* 使用HttpServletRequest作为SpringMVC 控制器里面方法的参数
* @param request
* @return
@RequestMapping("/login")
public String login(HttpServletRequest request){
String username = request.getParameter("uname");//同Servlet一样,获取页面属性名叫uname的值
String password = request.getParameter("pwd");//同Servlet一样,获取页面属性名叫pwd的值

return "/user/login";
}

}

第二种:通过SpringMVC Annotation注解机制,将前端页面参数传回后台

@Controller  
@RequestMapping("/user")
public class UserController
/**
* 通过SpringMVC Annotation注解机制
* @RequestParam("uname")String username——获取页面属性名叫"uname"的值,用String类型接收,变量名叫username
* @param request
* @return
@RequestMapping("/login")

public String login(@RequestParam(value = "uname")String username,@RequestParam("pwd")String password){


return "/user/login";
}

}

第三种:通过@PathVariable获取路径中的参数

/**
* 4、通过@PathVariable获取路径中的参数
* @param username
* @param password
* @return
@RequestMapping(value="/addUser4/{username}/{password}",method=RequestMethod.GET)
public String addUser4(@PathVariable(value = "username") String username,@PathVariable(value = "password") String password) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return "demo/index";
}

第四种: 使用JavaBean自动装配机制,创建一个User类,将页面参数作为一个User对象传回后台

@Controller  
@RequestMapping("/user")
public class UserController
/**
* 将页面参数作为一个JavaBean对象传回
* @param user
* @return
@RequestMapping("/login")
public String login(User user){

return "/user/login";
}

第五种:

/**
* 5、使用@ModelAttribute注解获取POST请求的FORM表单数据
* @param user
* @return
@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 "demo/index";
}