@RequestMapping
,@ActionMapping
和@RenderMapping
之間的區別對我來說不是很清楚。看起來上述所有內容最終都將請求url映射到控制器中的實際方法。那麼區別是什麼呢? @Rendermapping
可以做什麼不能通過@Requestmapping
完成?@ ActionMapping,@ RequestMapping,@ Rendermapping之間的區別
5
A
回答
11
@RequestMapping
允許你指定模式(編輯,視圖等)和許多其他選項(雖然不是窗口狀態)。 @RenderMapping
允許您僅指定請求參數和窗口狀態(MAXIMIZED,NORMAL等),並且是指示渲染請求映射的便捷方式。你可以在同一個類上使用兩個註釋。例如,您可以在類級別使用RequestMapping進行註釋,以指示它爲VIEW模式提供請求,然後在方法級別使用@RenderMapping
(或@ActionMapping
或@ResourceMapping
)爲特定請求註釋處理程序。
現在說說不同類型的請求可能很有幫助。
渲染請求用於渲染HTML,所以通常您會顯示一個JSP或其他類型的視圖。
動作請求用於執行操作,如修改數據,上傳文件等。重要的是要注意每個操作請求後面都有一個呈現請求。因此,如果您的頁面上有兩個portlet,並且您向portlet發出了一個操作請求,那麼會收到一個操作請求,然後是一個呈現請求。 Portlet 2只會收到一個呈現請求。
還有另一種類型的請求,你不提這也是感興趣的可用於
資源請求來渲染其他內容類型。 AJAX是資源請求的常見用例,因爲它們適用於返回JSON或XML。
事件請求也存在,可以用於Portlet間的通信。我可以推薦Spring portlet docs。儘管它們沒有很好地包含註釋,但它們確實解釋了不同的請求類型,您應該能夠使用該信息來計算註釋。
注:如果您願意,您可以使用@RequestMapping
來定義渲染,動作和資源請求,但@RenderMapping
,@ActionMapping
或@ResourceMapping
提供了更方便的方法。
相關問題
- 1. @RequestMapping和@RenderMapping有什麼區別
- 2. 什麼是ActionMapping,RenderMapping?
- 3. 將@RequestParam從@ActionMapping傳遞給@RenderMapping
- 4. REST webservice中的@Path和@Requestmapping之間的區別
- 5. 註解@GetMapping和@RequestMapping之間的區別(method = RequestMethod.GET)
- 6. 之間的〜/和的區別../
- 7. CMake的:$ {}之間的區別 「$ {}」
- 8. '#','%'和'$'之間的區別
- 9. {!!之間的區別!!}和{{}}
- 10. 加入之間的區別
- 11. '+ ='和'= +'之間的區別?
- 12. cp之間的區別
- 13. 同步之間的區別
- 14. 「。+」和「。+?」之間的區別
- 15. 佈局之間的區別?
- 16. .eq之間的區別。和==
- 17. Console.writeline()/trace.writeline()之間的區別
- 18. 「或」與「||」之間的區別?
- 19. ~~與Math.floor之間的區別()
- 20. #。/和#之間的區別。 ./
- 21. !=和!之間的區別==
- 22. site.master main.master之間的區別
- 23. 「%〜dp0」和「。\」之間的區別?
- 24. 撇號之間的區別?
- 25. NSStrings之間的區別?
- 26. | =和^ = css之間的區別
- 27. 之間的區別。和#
- 28. ==和case之間的區別?
- 29. org.apache.hive.jdbc.HiveStatement/org.apache.hadoop.hive.jdbc.HiveStatement之間的區別
- 30. 「**/* /」和「** /」之間的區別?