Spring MVC 3 Action 支援的引數
請求型別
Handler methods that are annotated with @RequestMapping
can have very flexible signatures. They may have arguments of the following types, in arbitrary order (except for validation results, which need to follow right after the corresponding command object, if desired):
-
Request or response objects (Servlet API). Choose any specific request or response type, for example
ServletRequest
orHttpServletRequest
. -
Session object (Servlet API): of type
HttpSession
. An argument of this type enforces the presence of a corresponding session. As a consequence, such an argument is nevernull
.Note Session access may not be thread-safe, in particular in a Servlet environment. Consider setting the
AnnotationMethodHandlerAdapter
's "synchronizeOnSession" flag to "true" if multiple requests are allowed to access a session concurrently. -
org.springframework.web.context.request.WebRequest
ororg.springframework.web.context.request.NativeWebRequest
. Allows for generic request parameter access as well as request/session attribute access, without ties to the native Servlet/Portlet API. -
java.util.Locale
for the current request locale, determined by the most specific locale resolver available, in effect, the configuredLocaleResolver
in a Servlet environment. -
java.io.InputStream
/java.io.Reader
for access to the request's content. This value is the raw InputStream/Reader as exposed by the Servlet API. -
java.io.OutputStream
/java.io.Writer
for generating the response's content. This value is the raw OutputStream/Writer as exposed by the Servlet API. -
@PathVariable
annotated parameters for access to URI template variables. See Section 15.3.2.1, “URI Templates”. -
@RequestParam
annotated parameters for access to specific Servlet request parameters. Parameter values are converted to the declared method argument type. See Section 15.3.2.4, “Binding request parameters to method parameters with @RequestParam”. -
@RequestHeader
annotated parameters for access to specific Servlet request HTTP headers. Parameter values are converted to the declared method argument type. -
@RequestBody
annotated parameters for access to the HTTP request body. Parameter values are converted to the declared method argument type usingHttpMessageConverter
s. See Section 15.3.2.5, “Mapping the request body with the @RequestBody annotation”. -
HttpEntity<?>
parameters for access to the Servlet request HTTP headers and contents. The request stream will be converted to the entity body usingHttpMessageConverter
s. See Section 15.3.2.7, “Using HttpEntity<?>”. -
java.util.Map
/org.springframework.ui.Model
/org.springframework.ui.ModelMap
for enriching the implicit model that is exposed to the web view. -
Command or form objects to bind parameters to: as bean properties or fields, with customizable type conversion, depending on
@InitBinder
methods and/or the HandlerAdapter configuration. See thewebBindingInitializer
property onAnnotationMethodHandlerAdapter
. Such command objects along with their validation results will be exposed as model attributes by default, using the non-qualified command class name in property notation. For example, "orderAddress" for type "mypackage.OrderAddress". Specify a parameter-levelModelAttribute
annotation for declaring a specific model attribute name. -
org.springframework.validation.Errors
/org.springframework.validation.BindingResult
validation results for a preceding command or form object (the immediately preceding method argument). -
org.springframework.web.bind.support.SessionStatus
status handle for marking form processing as complete, which triggers the cleanup of session attributes that have been indicated by the@SessionAttributes
annotation at the handler type level.返回型別:
-
A
ModelAndView
object, with the model implicitly enriched with command objects and the results of@ModelAttribute
annotated reference data accessor methods. -
A
Model
object, with the view name implicitly determined through aRequestToViewNameTranslator
and the model implicitly enriched with command objects and the results of@ModelAttribute
annotated reference data accessor methods. -
A
Map
object for exposing a model, with the view name implicitly determined through aRequestToViewNameTranslator
and the model implicitly enriched with command objects and the results of@ModelAttribute
annotated reference data accessor methods. -
A
View
object, with the model implicitly determined through command objects and@ModelAttribute
annotated reference data accessor methods. The handler method may also programmatically enrich the model by declaring aModel
argument (see above). -
A
String
value that is interpreted as the logical view name, with the model implicitly determined through command objects and@ModelAttribute
annotated reference data accessor methods. The handler method may also programmatically enrich the model by declaring aModel
argument (see above). -
void
if the method handles the response itself (by writing the response content directly, declaring an argument of typeServletResponse
/HttpServletResponse
for that purpose) or if the view name is supposed to be implicitly determined through aRequestToViewNameTranslator
(not declaring a response argument in the handler method signature). -
If the method is annotated with
@ResponseBody
, the return type is written to the response HTTP body. The return value will be converted to the declared method argument type usingHttpMessageConverter
s. See Section 15.3.2.6, “Mapping the response body with the @ResponseBody annotation”. -
A
HttpEntity<?>
orResponseEntity<?>
object to access to the Servlet reponse HTTP headers and contents. The entity body will be converted to the response stream usingHttpMessageConverter
s. See Section 15.3.2.7, “Using HttpEntity<?>”. -
Any other return type is considered to be a single model attribute to be exposed to the view, using the attribute name specified through
@ModelAttribute
at the method level (or the default attribute name based on the return type class name). The model is implicitly enriched with command objects and the results of@ModelAttribute
annotated reference data accessor methods.
-
相關文章
- spring MVC -- controller引數的解析SpringMVCController
- 請教大家spring mvc的action轉發問題SpringMVC
- [Spring MVC] - SpringMVC的各種引數繫結方式SpringMVC
- Spring MVC的Post請求引數中文亂碼的原因&處理SpringMVC
- Action裡result型別Stream的引數配置型別
- Spring MVC 接收POST表單請求,獲取引數總結SpringMVC
- Spring 3 MVC hello world exampleSpringMVC
- Spring 學習筆記(3)Spring MVCSpring筆記MVC
- struts2 action中result引數詳解
- 詢問html:frame標籤的action、page、href、forward引數.HTMLForward
- 使用Spring MVC 的 @RequestBody 對映json請求引數時報異常問題SpringMVCJSON
- performSelector支援多引數performSelector
- ASP.NET MVC 5呼叫其他ActionASP.NETMVC
- struts2的action與jsp之間傳遞引數JS
- Oracle資料泵impdp的table_exists_action引數說明Oracle
- impdp匯入時使用table_exists_action引數的區別
- 【匯出匯入】IMPDP table_exists_action 引數的應用
- ASP.NET MVC傳遞引數(model)ASP.NETMVC
- 給alias命令新增引數支援
- MVC接收以post形式傳輸的各種引數MVC
- Spring框架下的 “介面呼叫、MVC請求” 呼叫引數、返回值、耗時資訊輸出Spring框架MVC
- IDEA 2024.1:Spring支援增強、GitHub Action支援增強、更新HTTP Client等IdeaSpringGithubHTTPclient
- UIButton addTarget:self action:@selector() 傳多個引數UI
- Spring MVCSpringMVC
- spring - mvcSpringMVC
- impdp匯入時remap_*引數與table_exists_action的關係REM
- jmeter 引數簽名不支援 TreeMapJMeter
- Spring Boot 引數轉換Spring Boot
- Spring Boot 引數校驗Spring Boot
- 【Java】利用反射執行Spring容器Bean指定的方法,支援多種引數自動呼叫Java反射SpringBean
- Spring MVC 零配置 / Spring MVC JavaConfigSpringMVCJava
- Asp.Net MVC路由引數獲取、替換ASP.NETMVC路由
- Spring AOP獲取攔截方法的引數名稱跟引數值Spring
- Spring Boot/Spring MVCSpring BootMVC
- 【java深入學習第3章】透過 Spring AOP 完成引數的加解密JavaSpring解密
- spring、spring MVC、spring BootMVCSpring Boot
- 【踩坑】spring mvc在接收請求引數時由於大小寫問題導致的接收失敗SpringMVC
- tomcat + spring mvc原理外傳:spring mvc與前端的糾葛TomcatSpringMVC前端