方式有:
- 逐个参数接收
- 对象方式接收
1.逐个接收
/* name 必须和前端的name="name" 一致
pwd name=”pwd“
框架的处理过程:
1.用request对象 request.getParameter("name")获取参数
2.springmvc框架通过dispathcerServlet中央调度器调度 some这个方法
3.前端传来的参数都是String类型 所以你接收的时候使用String都没问题
如果比如密码写的是 int pwd 传参的时候传入英文字符 这个some方法都不会执行
4.逐个接收参数方式,处理器形参的名与请求中参数名一样。
*/
@RequestMapping(value = "/getParameter",method = RequestMethod.POST)
public ModelAndView some(String name,String pwd) throws IOException {
ModelAndView mv = new ModelAndView ();
mv.addObject ("name",name);
mv.addObject ("pwd",pwd);
System.out.println ("ddddddddddddddd"+name+ " "+ pwd);
mv.setViewName ("show.jsp");
return mv;
}
如果前端传来的参数,与你后端处理器的形参名不一样时:
使用注解:@RequestParam(“rname”) String name, 意思是 接收前端rname的参数的值,并赋值给name
@RequestMapping(value = "/getParameter",method = RequestMethod.POST)
public ModelAndView some(@RequestParam("rname") String name,String pwd) throws IOException {
ModelAndView mv = new ModelAndView ();
mv.addObject ("name",name);
mv.addObject ("pwd",pwd);
System.out.println ("ddddddddddddddd"+name+ " "+ pwd);
mv.setViewName ("show.jsp");
return mv;
}
以bena实体类对象 接收参数
@RequestMapping(value = "/getDataUseBean",method = RequestMethod.POST)
public ModelAndView getDataUseBean(HttpServletResponse response,User myuser) throws IOException {
//视图对象
ModelAndView mv = new ModelAndView ();
System.out.println ("账号是:"+myuser.getName ()+" 密码是:"+myuser.getPwd ());
mv.addObject ("myname", myuser.getName ());
mv.addObject ("mypwd",myuser.getPwd ());
//相当于response.dispathcerservlet("show.jsp") 服务端跳转
//如果需要 重定向 使用 response.sendRedirect("/controller/second.do")
mv.setViewName ("show.jsp");
return mv;
}