2012-02-06 47 views
0

因爲我的URL非常複雜,斜槓之間的每個部分都取決於數據庫的內容,所以我認爲這對我來說是不夠的。我想我需要編寫一些URL解析器,它通過斜槓之間的url部分並調用某種處理程序。替換web.xml和Spring中的<servlet-mapping> MVC

有沒有辦法寫這樣的URL解析器,它會得到字符串並返回一個代表當前請求的對象,它將取代?我只設法找到只使用web.xml定義的url-routing的簡單教程。

謝謝

回答

1

Spring非常靈活,所以你可以自定義URL解析。看看本教程http://static.springsource.org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch16s11.html,注意DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter。看來你應該研究他們是如何工作的,並覆蓋一些功能。

但是在你開始之前,再想一想。你真的需要這個嗎?@RequestMapping不滿足你嗎?真的,你可以在URL模式定義中使用路徑變量{myvar}。變量可以是不同類型的,包括枚舉。我用這個,發現很方便。例如,您可以創建enum MyType ONE, TWO;在枚舉級別上定義抽象方法併爲每個元素覆蓋它。然後,可以將MyType類型的路徑變量用於請求映射,並直接從標記爲@RequesteMapping註釋的方法調用此方法。

+0

謝謝!我會檢查所有建議。我的URL的問題是,我需要根據數據庫檢查每個部分,每個結果取決於接下來將在數據庫中檢查的內容。 – 2012-02-06 23:00:46

+0

好吧,閱讀完之後,我仍然不覺得它正是我正在尋找的東西。您如何爲控制器/視圖生成URL?想象一下擁有控制器AppleContr和PearContr。他們每個人都有公開和編輯的視圖,並且生成的頁面依賴於ID。然後假設,我想在這樣的模板中創建一個鏈接:...,我可以以某種方式做到這一點嗎? – 2012-02-07 16:54:48

相關問題