本文共 1947 字,大约阅读时间需要 6 分钟。
当需要学习一个新的MVC框架需要从以下方面入手:
1、环境搭建(能输出Hello Word)
2、如何传递参数到Controller,Controller如何获取参数3、如何从Controller传递Model到View4、如何完成文件的上传5、如何完成验证6、异常的处理7、深入学习一些原理和源代码的学习分享一下如何传递参数到Controller,Controller如何获取参数
在一个POJO类定义处标注@Controller,再通过<context:component-scan />扫描响应的包,就可以使POJO类成为一个能处理HTTP请求的控制器
用@RequestMapping,可以定义在类和方法上,将一个请求映射到控制器中的方法上。
1、请求的参数按名称匹配的方式绑定到入参中,返回字符串代表逻辑视图名
@RequestMapping(value="/handle1")public String handle1(@RequestParam("userName") String userName, @RequestParam("password") String password, @RequestParam("realName") String realName){ ...return success;}
@RequestParam 用来请求request中的参数,相当于request.getParameter() 其中有三个属性:
这一种方式说明参数是URL的一部分,此时也可以去掉@RequestParam,直接写参数就可以了
public String handle1(String userName, String password, String realName)2、将cookie的值及报文头部属性绑定到入参,方法返回ModelAndView
@RequestMapping(value="/handle2")public ModelAndView handle2(@CookieValue("JSESSIONID") String sessionId, @RequestHeader("Accept-Language") String accpetLanguage){ ModelAndView mav = new ModelAndView(); mav.setViewName("success"); mav.addObject("user", new User()); return mav;}
3、请求的参数按名称匹配的方式绑定到 user 属性中,返回字符串代表逻辑视图名
@RequestMapping(value="/handle3")public String handle3(User user){ ...return success;}
按“HTTP请求参数名= 命令/表单对象的属性名”的规则,自动绑定请求数据,自动进行基本类型数据转换
4、直接使用Servlet API 对象作为处理方法的入参,返回字符串代表逻辑视图名
@RequestMapping(value="/handle4")public String handle4(HttpServletRequest request){ ...return success;}
5、以REST技术向springMVC传递参数使用占位符
public ModelAndView show(@PathVariable("userid") String userid){ ModelAndView mav = new ModelAndView(); mav.setViewName("success"); mav.addObject("user", new User()); return mav;}
用@PathVariable来把占位符参数绑定到控制器处理方法的入参中
注意:占位符中的{xxx}要和@PathVariable("xxx")的名字一样6、还可以使用一些其他的参数,如IO流等
转载地址:http://ehizx.baihongyu.com/