SpringMVC通过分析处理方法的签名,可以将HTTP请求信息绑定到处理方法的相应参数中。
使用@RequestParam绑定请求参数值
在处理方法参数处使用@RequestParam可以把请求参数传递给请求方法,其中:
– value:请求参数的参数名
– required:该参数是否必须,默认为true,
– defaultValue:请求参数的默认值,表示请求参数中必须包含对应的参数,若不存在,将抛出异常。
例如:
jsp:
控制器:
控制器中的方法也可写为:
此时方法的参数名必须与页面传来的参数名一致(都为userName),否则会获取不到。
使用@RequestHeader绑定请求报头的属性值,使用@CookieValue绑定请求中的Cookie值(不常用,了解即可)
|
|
使用POJO对象绑定请求参数值(用于传递对象)
SpringMVC会按请求参数名和POJO属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。如:dept.deptId、dept.address.tel等,例如:
POJO:
控制器:
jsp:
注意,jsp中form表单数据的name值需要与POJO的字段值一致。
使用ServletAPI作为参数
MVC 的Handler 方法可以接受如下ServletAPI类型的参数:
• HttpServletRequest
• HttpServletResponse
• HttpSession
• Java.security.Principal•Locale
• InputStream
• OutputStream
• Reader
• Writer
例如:
jsp:
控制器:
点击jsp页面的Test ServletAPI:
并在控制台输出:
testServletAPI, org.apache.catalina.connector.RequestFacade@3277a570, org.apache.catalina.connector.ResponseFacade@4d0e75f2