spring mvc中@requesMapping的可配置参数和标注的处理方法的可选参数
2014-05-13 22:47
274 查看
@RequestMapping的可选参数 value:表示需要匹配的url的格式。 method:表示所需处理请求的http 协议(如get,post,put,delete等),可选值为RequestMethod这个enum的值。 params:格式为”paramname=paramvalue” 或 “paramname!=paramvalue”。不带参数则表示paramvalue可以为任意值。 如params = {"param1=1","param2!=2","param3"},表示对应的url必须包括param1,param2,param3三个参数,其中param1的值必须为1,param2的值不能为2,param3的值可以为任意值。 headers:用来限定对应的reqeust请求的headers中必须包括的内容,例如 headers={"Connection=keep-alive"}, 表示请求头中的connection的值必须为keep-alive。
使用@requesMapping标注的处理函数包括的可选参数,除了HttpServletRequest, HttpServletResponse, HttpSession这些web应用中常见的参数及之前提到过的@PathVariable外,还可以包括以下可选的参数,其中大部分参数的顺序没有特殊要求的。 java.util.Locale 当前请求所属的区域设置。 java.io.InputStream或java.io.Reader 用来读取request content,相当于 request.getInputStream()或request.getReader(); java.io.OutputStream或java.io.Writer 用来生成reponse content,相当于response.getOutputStream()或response.getWriter()。 java.security.Principal 当前认证了的用户 WebRequest或NativeWebRequest Spring 对request,response,session等web元素封装后的对象 HttpServletRequest/response/HttpSession等原始的web对象 java.util.Map 或 org.springframework.ui.Model或org.springframework.ui.ModelMap 用来存放domain model的map结构。 HttpEntity<?> 可用来读取http请求的header和 body内容,注意因为httpentity,@RequestBody,Reader这三种类型的参数都是通过inputstram来读取httpbody的数据的,而inputstream流不能反复读取,因此这三种类型的参数不能放在一起使用。而且在没有设置content-type或没有设置相应的messageconverter的情况下,都会报错。 Command 或 form objects 通过spring 的databinding机制将request请求中的参数自动转换为对应的java bean实例。 Errors或BindingResult 对command或form objects值的校验结果。此参数必须紧跟在需校验的command或form object参数后面。因为databinding可以允许将输入参数和多个java bean 进行绑定(也就是说我们可以把输入request param转换成为多个java 对象)。 SessionStatus Session的状态。当使用@SessionAttributes来标注请求需要session中对应的值时,在处理结束时,使用SessionStatus. setComplete()来将session设置为时效。 @RequestParam 将request参数和handler method参数做绑定。例如 @RequestParam(value="username",defaultValue="winzip",required=false) String name 表示将request中的username参数和handler method中的name参数绑定,缺省值为”winzip”,request请求中可以不传递此参数 @RequestHeader 将handler method中的参数与request header中的值绑定,例如 @RequestHeader(required=false,value="User-Agent") String ua 表示将header中的"User-Agent"与ua这个入参绑定。 @RequestBody 将handler method中的参数与request context body中的值绑定 例如 @RequestBody String u 表示将request body中的内容与u这个入参绑定。 @CookieValue 将handler method中的参数与cookie中的值绑定 例如 @CookieValue(value="JSESSIONID",required=false) String jssionid @ModelAttribute 将handler method中的参数与对应的类型绑定,名称缺省为类名(首字母小写),如果ModelAttribute指定了值则以该值作为model attribute name。 例如 @ModelAttribute("ooxx") User u 则在modelmap中创建了一个键值为ooxx的model attribute。 @ModelAttribute User u 或 User u 在modelmap中创建了一个键值为user的model attribute
相关文章推荐
- 第九节 C# 可选参数、重构—提起方法、局部变量、作用域、常用字符串的处理方法
- MVC 中前端传递Json数据,后端以对象形式接受参数的处理方法
- Spring3 MVC (三)---请求处理方法 参数及返回值总结
- 在OpenCV某一个算子中考察某该算子的一个参数对图像处理的影响,通过循环从而选择最佳参数的方法
- C#可选参数的使用方法
- oracle spfile参数设置错误的处理方法
- js方法对象的参数可选
- C#方法的六种参数,值参数、引用参数、输出参数、参数数组、命名参数、可选参数
- springMVC对于controller处理方法返回值的可选类型
- JAVA 中URL链接中文参数乱码的处理方法
- C#中日期型参数为空的处理方法 DataSet 空
- php post json参数的传递和接收处理方法
- PHPCMS伪静态时rewrite匹配参数超过10个的处理方法 分类信息伪静态
- Shell脚本中参数处理方法
- C#方法笔记一:C#4.0新特性:命名参数和可选参数
- 无论url请求什么.都可以拼接class类名.实例化.传递get参数-->给当前控制器-->传递给抽象父类-->都交给抽象父类.这个方法去处理call_user_func_array()
- js拼接字符串时,字符串的事件参数需要传对象或对象数组的处理方法
- C# 方法可选参数
- 处理String的split方法把参数作为正则匹配
- php不定参数方法(函数)和可选参数方法(函数)