我基於ASP.NET MVC框架提供的XmlRouteCollection類的現有功能,很容易地在C#(string GetUrl(new { controller = "foo", action = "bar", baz = "fnord" }
)中編寫了類似這樣的東西(爲什麼它沒有出現在框中,超出了我的範圍;所需的代碼是微不足道的)。我現在面臨着一個JSP項目,而且我需要相同的能力:根據路由規則列表集中在一個地方生成所有URL的邏輯。是否有一些代碼可以重用/適應在Java中執行此操作?這似乎是一個普遍的要求,但是谷歌證明對於找到這樣的東西毫無幫助。Ruby on Rails的「url_for」是否有Java的等價物?
1
A
回答
1
0
JSP只是一個基於Java的視圖技術,它不是一個MVC框架,您可以最好地將JSP與「經典ASP」進行比較。 ASP.NET-MVC的Java EE對應的是JSF(JavaServer Faces)。我完全瞭解JSF,但我似乎沒有認識到你需要的部分。看起來更像是RESTFul味。在這種情況下,看看Spring 3.0 MVC。它提供了"URI-template" annotations到監聽對某些RESTFul請求。誠然,這也不是你想要的,但它可能會給你一些新的見解和想法。
+0
春天的URI模板幾乎正是我需要的,除了他們在錯誤的方向工作,他們解析一個URL和將它與一個動作相匹配;我需要指定一個動作並生成一個URL。無論如何,這是學術性的;我不能使用Spring,我堅持使用商業框架(有很多其他的東西,但不是這個)。 – 2010-02-23 00:06:02
相關問題
- 1. Groovy和Grails或Ruby on Rails是否有.NET等價物?
- 2. Ruby on Rails的FirePHP等價物
- 3. JavaScript的Function.prototype.bind是否有Ruby等價物?
- 4. 是否有「python -i」的ruby等價物?
- 5. Rails Fixtures是否有.net等價物?
- 6. 是否有.Net System.Data的Java等價物?
- 7. excel vlookup是否有Java的等價物?
- 8. 是否有IConvertible/System.Convert的Java等價物?
- 9. Java的Ruby等價物ObjectSpace.each_object
- 10. 在Java中是否有TweenMax等價物
- 11. 在java中是否有array_intersect()等價物?
- 12. 它是否存在Java的Wicket的Ruby等價物?
- 13. 用於Ruby on Rails的HTML淨化器等價物?
- 14. rmul是否有紅寶石等價物?
- 15. 是否有Ruby的andand的Javascript等價物?
- 16. ruby中的instance_variable_set方法的dart中是否有等價物?
- 17. 在Python中是否有Rake等價物?
- 18. 是否有Android的Application :: onDestroy()等價物?
- 19. 是否有Python的RedBeanPHP等價物?
- 20. 是否有jQuery.offset的Elm等價物?
- 21. 是否有ToolStripButton的WPF等價物?
- 22. 是否有Python的Term :: ANSIScreen等價物?
- 23. Android中是否有MethodHandle的等價物?
- 24. R的h2o.stack是否有python等價物?
- 25. PHP的ArrayObject是否有in_array等價物?
- 26. 是否有Throwable.printStackTrace()的StackTraceElement []等價物?
- 27. 在Python中是否有使用matplotlib和basemap的Ruby等價物?
- 28. Python中是否有Ruby的Yard等價物?
- 29. 在Swift中是否有Ruby的instance_eval等價物?
- 30. 是否有Ruby超時模塊的Groovy等價物?
1)給我們代碼示例,以便我們能夠理解你在說什麼。 2)編輯你的頁面,我們看不到正確的代碼示例(用C#)。 – 2010-02-22 20:28:49
JSP通常只用作視圖層。您是否使用Web應用程序框架,如果是,哪一個? – 2010-02-22 20:48:03
我需要的基本上是兩個函數:RegisterRoute(Dictionary參數名稱和值,string urlTemplate);和GetUrl(Dictionary parameterNamesAndValues)。例如RegisterRoute({controller:'foo',action:'bar'},「http://domain.name/some/path/{action}/{baz}.png」),然後GetUrl({controller:' foo',action:'bar',baz:'fnord'})將返回「http://domain.name/some/path/bar/fnord.png」)。 C#代碼不是很有趣。至於網絡框架,該項目與不提供上述功能的商業閉源電子商務Web框架相結合。代碼的時間,我猜... – 2010-02-22 21:52:36