1
使用Spring,我如何在視圖中檢索以下控制器屬性?從視圖訪問彈簧控制器名稱
- 控制器名稱
- 控制器的@RequestMapping URI
- 操作方法名
- 操作方法的@RequestMapping URI ,我已經試過
一種方法是通過創建HandlerInterceptorAdapter和壓倒一切的子類的postHandle。我將我的子類註冊爲mvc:攔截器,以獲取給定路徑的列表 - 這是笨重的維護,但是避免我的攔截器被調用ResourceHandler請求(我不想)的唯一方法。在我的postHandle中,我可以輕鬆地添加2個名稱屬性,但不能添加URI ...
- 從HttpRequest對象解析需要對所有Controller RequestMappings進行約束。即我必須總是映射/控制器/行動或equiv計劃。相當有限。
- 創建ApplicationContext並使用requestURI查詢是太冗長了。
我在考慮放棄HandlerInterceptorAdapter,而是爲所有我的控制器定義一個BaseController來擴展。
我想問之前,我這樣做,有沒有更好的方法?
我需要在視圖中使用某些屬性(使用JSP/JSTL)來決定是否應該「突出顯示導航欄元素」。和「麪包屑的觀點應該包含什麼?」。 – CraigJPerry 2012-08-14 09:35:36
爲什麼不使用'$ {pageContext.request.requestURI}'或其他請求對象屬性之一?需要控制器名稱看起來很誇張,你應該能夠只使用請求URI來實現它? – nickdos 2012-08-14 22:55:12
我看不出用什麼方法來渲染一個麪包屑視圖,而不是在我的JSP中使用一些相當複雜的URI解析邏輯。 Take/assets/getbyid/12345 vs/assets/listbydate/2012/08/15如何將這2個網址轉換爲麪包屑,而無需知道在我的視圖層如何解釋URL?在我看來,更好的方法是在請求範圍級別提供知識,而不是在呈現時解析出來。 – CraigJPerry 2012-08-15 18:13:00