在controller中获取前台传递的参数
将页面数据传递到controller
页面表单:
用户名:年龄:
生日:
Controller为:
/**
* 1、直接使用形参获取前台传递的参数数据
* 要注意的是形参的名字必须和页面参数的名字一致
* @param model
* @param name
* @param age
* @param birth
* @return
*/
@RequestMapping(method=RequestMethod.POST)
publicString addUser(Model model,String name,Integer age,Date birth){
model.addAttribute("message","添加了一个用户");
System.out.println("name:"+name+ "\tage:"+age+"\tbirht:"+birth);
System.out.println("UserController.addUser()");
return"/WEB-INF/jsp/addsuc.jsp";
}
/**
* 2、使用对象接受前台传递的参数,
* 要注意的是前台传递的参数的名称必须和对象的属性名称一直,如果不一致则可以使用@ModelAttribute("u")String uname指定
*/
@RequestMapping(method=RequestMethod.POST)
publicString addUser(Model model,User user){
model.addAttribute("message","添加了一个用户");
System.out.println("name:"+user.getName()+ "\tage:"+user.getAge()+"\tbirht:"+user.getBirth());
System.out.println("UserController.addUser()");
return"/WEB-INF/jsp/addsuc.jsp";
}
接收值–四种方法:
第一种:参数直接写在controller参数列表中
@RequestMapping(“/test1.action”)
public ModelAndView test1(String name){
System.out.println(name);
return null;
}
第二种:request
@RequestMapping(“/test2.action”)
public ModelAndView test2(HttpServletRequest request){
System.out.println(request.getParameter(“name”));
return null;
}
第三种:指定传参
@RequestMapping(“/test3.action”)
public ModelAndView test3(@RequestParam(“name3”) String name){
System.out.println(name);
return null;
}
第四种:通过对象
@RequestMapping(“/test4.action”)
public ModelAndView test4(User user){
System.out.println(user);
return null;
}
传值–三种方法:
第一种:request
@RequestMapping(“/test5.action”)
public String test5(HttpServletRequest request,User user){
request.setAttribute(“message”, user.getName());
return null;
}
第二种:ModelAndView
@RequestMapping(“/test6.action”)
public ModelAndView test6(User user){
System.out.println(user);
ModelAndView mv = new ModelAndView();
mv.addObject(“message”, user.getName() );
mv.setViewName(“/index1.jsp”);
return mv;
}
第三种:Model
@RequestMapping(“/test7.action”)
public String test7(User user,Model model){
System.out.println(user);
model.addAttribute(“message”, user.getName() + ” hello”);
return “/index1.jsp”;
}
注:springmvc传值不止这三种方法