我有一個Struts,我想轉換爲掛毯5.有可能沒有時間做整體轉換一舉(1.3.8)應用程序。我希望在Tapestry中提供新功能,並在時間允許的情況下轉換現有的Struts/JSP。有沒有人嘗試過這樣的事情? Struts和Tapestry可以共存嗎?零碎轉換爲掛毯5
零碎轉換爲掛毯5
回答
沒有使用過Tapestry,我會說任何兩個框架應該能夠共存,因爲在web.xml
中定義瞭如何將url映射到servlet /過濾器。例如,在Wicket中有一個過濾器,用於檢查實現請求處理程序的Wicket類。如果沒有任何匹配,請求就會通過鏈。這將允許您繼續使用Struts進行某些操作。
如果你有,你想保留一些網址,你可以改變Struts動作轉發到新的內部URL;最終所有的struts動作都將是url重寫動作,並且你可以將struts翻出來並用url重寫過濾器替換它。
如果沒有新的URL將與舊網址衝突,那麼就沒有什麼困難的事情。只需建立新的框架及其請求處理程序。當遇到struts操作時(/doSomething.do
),Struts ActionServlet
會將請求分派給操作。在struts-config.xml
中,您可以轉發到正確的位置,即JSP或瓦片或Tapestry URL。我想在Tapestry中有一種方法可以在完成處理請求後轉發到任意的url;如果需要的話,只需轉發到Struts操作即可。
的一個棘手的問題,我可以預見的是,如果Struts和掛毯有第三方庫衝突的要求。如果這不起作用,你可能會因爲任何一種簡單的遷移而失去運氣。
如果你做的Struts像大多數人做到這一點,你可能有所有你的Struts開始/動作或用。做結尾的網址。正如Shiny和New先生指出的那樣,這意味着您可以使用Tapestry過濾器和Struts過濾器或servlet過濾不同的URL。我已經使用了兩者,我強烈建議您嘗試讓Tapestry不必處理Struts URL。使用Struts,你可以手動編寫URL,所以連接到Tapestry頁面不應該是一個問題,但是如果你想讓Tapestry連接到Struts URL,你可能無法以標準方式使用它。理想情況下,您可以拆分一部分應用程序(如內部管理功能),並讓它們完全獨立。
我已經提出了一個概念證明,Struts和Tapestry可以通過添加Tapestry頁面在同一個應用程序中生活。需要做進一步的工作,看看兩者之間是否存在連接,會話數據等問題 – 2009-02-26 16:21:58
我這樣做一次。我必須在這兩個框架的會話之間架起一座橋樑,因爲他們爲此使用了自己的常量/前綴。我們從傳統應用程序逐漸切換到T5應用程序。我們只是使用web.xml來將struts請求指向struts,而T5請求則會被T5過濾器所取代。我想你甚至可以配置T5過濾器來忽略某些URL。
我們還使用了tuckey的URLRewrite過濾器來控制個別請求去了,這樣一個頁面可以struts一天,T5下一個和url將保持不變(這是有用的,如果你的struts應用程序是活的,人們可能已將其加入書籤)
我會通讀代碼(我將它存檔在某處),如果我發現任何問題,請回復更多信息。
祝你好運。
- 1. 掛毯5:
- 2. 掛毯5會話bean
- 3. 掛毯5 ByPass驗證
- 4. 掛毯5 URL操作
- 5. 掛毯5中的混色5
- 6. 掛毯5,登錄不是頁面
- 7. 掛毯5:試圖加載JavaScript文件
- 8. 掛毯5:多選下拉菜單
- 9. 掛毯中的多語言概念5
- 10. 問題在Eclipse/Jetty掛毯5教程
- 11. 升級:掛毯5.1.0.5到掛毯5.2.6
- 12. 掛毯文件上傳和隨之而來的轉換爲byte []
- 13. 顯示掛毯網格組件的困難。 (Apache的掛毯5框架)
- 14. 創建掛毯
- 15. 掛毯jquery PageScroll
- 16. 掛毯+ JDO + GAE
- 17. 掛毯入門
- 18. OnActionFromStart(掛毯)
- 19. 在掛毯
- 20. 掛毯5重定向混合大小寫URL爲小寫
- 21. 更換掛毯的頁面名稱
- 22. 搜索與掛毯
- 23. 掛毯數據gridsource
- 24. 掛毯。存在dateTimeField?
- 25. 在掛毯網頁
- 26. 「掛毯」在tapestry5高
- 27. 掛毯:onEvent on textfield
- 28. 掛毯「/」參數bug
- 29. 掛毯4.1 Hello World
- 30. 掛毯XML輸出
不要花太長的時間;如果你太慢了,Tapestry 6將會退出,如果v4和v5發行版有任何問題,它將與之前的版本沒有任何相似之處。 – skaffman 2009-07-22 10:03:43