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");
String password = request.getParameter("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";
}