spring mvc中@requesMapping的可配置参数和标注的处理方法的可选参数
- @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
spring mvc中@requesMapping的可配置参数和标注的处理方法的可选参数的更多相关文章
- Spring MVC中 log4j日志文件配置相对路径
log4j和web.xml配置webAppRootKey 的问题 1 在web.xml配置 <context-param> <param-name>webAppRootKey ...
- Spring MVC中forward请求转发2种方式(带参数)
Spring MVC中forward请求转发2种方式(带参数) http://www.51gjie.com/javaweb/956.html
- Spring MVC 中的基于注解的 Controller【转】
原文地址:http://my.oschina.net/abian/blog/128028 终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 H ...
- Spring MVC中基于注解的 Controller
终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 HandlerMapping 来映射出相应的 handler 并调用相应的方法以响 ...
- Spring MVC 中的基于注解的 Controller(转载)
终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 HandlerMapping 来映射出相应的 handler 并调用相应的方法 ...
- Spring MVC 中的 forward 和 redirect
Spring MVC 中,我们在返回逻辑视图时,框架会通过 viewResolver 来解析得到具体的 View,然后向浏览器渲染.假设逻辑视图名为 hello,通过配置,我们配置某个 ViewRes ...
- Spring MVC中各个filter的用法
转载:http://blog.csdn.net/qyp1314/article/details/42023725 Spring MVC中各个filter的用法 2014-12-19 09:08 105 ...
- Spring MVC中的HandlerMapping与HandlerAdapter
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- Spring mvc 中使用 kaptcha 验证码
生成验证码的方式有很多,个人认为较为灵活方便的是Kaptcha ,他是基于SimpleCaptcha的开源项目.使用Kaptcha 生成验证码十分简单并且参数可以进行自定义.只需添加jar包配置下就可 ...
随机推荐
- Unity3d操作的一些技巧知识点和BUG解决方案
自己记录一些东西,转载请良心注明出处. 1.如何同时打开两个UNITY3D项目. 有时候需要对比,或者需要添加另一个项目的某资源到目前项目,同时打开两个项目看起来会比较明了.如果直接打开的话, ...
- iOS News Reader开源项目
项目介绍 NewsReader项目是一个新闻阅读类开源项目,支持iPhone和iPad. 目前基于该项目并且已发布到App Store的产品有: VOA慢速英语和每天6分钟英语等 项目源码地址:htt ...
- java int类型转换成String , 不足10位 在前面补0
String.format("%010d", 25); 0代表前面要补的字符 10代表字符串长度 d表示参数为整数类型 String s = "Hello World!& ...
- 利用Mircosoft URLRewriter.dll实现页面伪静态
一,获得Mircosoft URLRewriter.dll: 获得Mircosoft URLRewriter.dll可以到http://www.microsoft.com/china/msdn/lib ...
- Linux命令缩写来由
A 命令 全称 功能 备注 apt AdvancedPackaging Tool APT用来自动下载,配置,安装二进制或者源代码格式的软件包 awk Aho Weiberger and Kerni ...
- Kmeans算法原理极其opencv实现(转帖)
原帖地址:http://blog.csdn.net/qll125596718/article/details/8243404 1.基本Kmeans算法[1] 选择K个点作为初始质心 repeat ...
- iOS开发-iPad侧边栏Tab选项卡切换
Android中习惯了叫侧边栏,iOS中如果不习惯侧边栏称呼的话可以叫dock,侧边栏的切换,类似于Android中的底部导航栏的切换,iPad尺寸大了一些,导航的栏目放在侧边会显示的更好耐看一些.选 ...
- RxJava 设计理念 观察者模式 Observable lambdas MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 编写和执行C#代码的插件:CS-Script for Notepad++
这个插件可以方便得让您在Notepad++编辑器中编辑和执行C#代码(脚本).它具备通用的C#智能感知和项目任务管理功能,方式非常类似于MS Visual Studio.除了这一点,它提供了通用的调试 ...
- jquery获得select option的值和对select option的操作
<body> <select name="month" id="selMonth" onchange="set()"> ...