编号 | 请求处理方法入参的可选类型 | 说明 |
1 | Java 基本数据类型和 String | 默认情况下将按名称匹配的方式绑定到 URL 参数上,可以通过 @RequestParam注解改变默认的绑定规则 |
2 | request/response/session | 既可以是 Servlet API 的也可以是 Portlet API 对应的对象, Spring 会将它们绑定到 Servlet 和 Portlet 容器的相应对象上 |
3 | org.springframework.web.context.request.WebRequest | 内部包含了 request 对象 |
4 | java.io.InputStream/java.io.Reader | 可以借此访问 request 的内容 |
5 | java.io.OutputStream / java.io.Writer | 可以借此操作 response 的内容 |
6 | 任何标注了 @RequestParam 注解的入参 | 被标注 @RequestParam注解的入参将绑定到特定的request 参数上。 |
7 | java.util.Map / org.springframework.ui.ModelMap | 它绑定 Spring MVC 框架中每个请求所创建的潜在的模型对象,它们可以被 Web视图对象访问(如 JSP ) |
8 | 命令 / 表单对象(注:一般称绑定使用 HTTP GET 发送的URL 参数的对象为命令对象,而称绑定使用 HTTP POST发送的 URL 参数的对象为表单对象) | 它们的属性将以名称匹配的规则绑定到 URL 参数上,同时完成类型的转换。而类型转换的规则可以通过@InitBinder 注解或通过HandlerAdapter 的配置进行调整 |
9 | org.springframework.validation.Errors / org.springframework.validation.BindingResult | 为属性列表中的命令 / 表单对象的校验结果,注意检验结果参数必须紧跟在命令 /表单对象的后面 |
10 | rg.springframework.web.bind.support.SessionStatus | 可以通过该类型 status 对象显式结束表单的处理,这相当于触发 session 清除其中的通过@SessionAttributes 定义的属性 |