@RequestMapping

來源:互聯網
上載者:User

 

1、 @RequestMapping 被處理的條件:
       在dispatcher中出現對應的 HandlerMapping(為了實作類別型層級的註解)和HandlerAdapter(為了實現方法層級的註解)這在DispatcherServlet和DispatcherPortlet中都是預設的.

2、@RequestMapping 註解的方法可以擁有下面類型的方法(順序任意,除非對於驗證結果需要緊跟在對應的命令對像後面)

   1). 請求/響應對像(Servlet api or Portlet api)

   2). 會話對像(Servlet API or Portlet API)

   3). WebRequest/NativeWebRequest

   4). InputStream/Reader 用於訪問請求的內容

   5). OutputStream/Writer 用於產生響應的內容

   6). 以 @RequestParam 註解的參數用於訪問特定的 Servlet/Portlet 請求參數。參數值將被轉換為聲明的方法參數類型

   7). Map/Model/ModelMap 用於充實將被暴露到 Web 視圖的隱含模型

   8). 綁定參數到命令/表單對像:帶有自訂類型轉換的 bean 屬性/域, 依賴於 @InitBinder 方法/HandlerAdapter 配置,參見AnnotationMethodHandlerAdapter 的 "webBindingInitializer" 屬性,這樣的命令對像包括它們的驗證結果,將會暴露為模型屬性,預設的會在屬性註解中使用非限定的命令類名(如:對於類型 "mypackage.OrderAddress" 使用 "orderAddress" )。為聲明一個體特定的模型屬性名稱指定一個參數層級的 ModelAttribute 註解

   9). BindingResult 驗證結果用於前面的一個命令/表單對像(前面緊接的參數)

   10). SessionStatus 狀態處理用於把表單處理過程標記為已完成(觸發會話屬性的清理,這些會話屬性是在控制代碼類型層級由 @SessionAttribute 註解指示出的)

 3 、@RequestParam 註解的參數預設是必須的,設定 @RequestParam(value="id",required="false")則這個參數為可選的

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.