作者 Ian Roughley譯者 崔康 發布于 2009年2月4日 上午8時13分
Struts2框架剛剛發布最新2.1版。該版本做了重大升級,包括重構更多代碼到插件框架、通過增加convention插件減少XML配置和改進REST支持。
我采訪了Musachy Barroso——該版本的一位開發人員,請他回答了一些問題:
2.0和2.1之間的最大區別是什么?
2.1版修改了很多錯誤(有關Struts和Xwork的),添加了新的插件,例如REST、Convention和Java Templates,這些都體現了我們的發展方向。?
很多功能移到了插件里,能解釋一下原因嗎?
基本思想就是在struts內核中只保留“核心”功能,把其他一切都移到插件里。這種做法便于維護代碼庫和放棄不再支持的功能,如Dojo插件。這些變化沒有帶給用戶什么好處,如果用戶不使用提到的插件,Struts的規模就比較小。?
您能談一下為何ajax標簽不受重視了嗎?
Struts 2 Ajax標簽基于Dojo 0.4.x,把它們移植到Dojo最新版本上意味著完全重寫。Dojo已被證明難以維護,因為新版本層出不窮,甚至在小版本之間代碼變動也很大。用戶經常 選擇直接使用Dojo,因為標簽不具有Dojo提供的全部功能。由于以上原因和缺少處理Dojo標簽的志愿者,我們不得不減少對Ajax標簽的關注。?
為何codebehind插件變成了convention插件,引入了哪些新功能?
Convention最初由Brian Pontarelli作為外部項目開發,后來引入到Struts。Convention具有更好更快的類路徑掃描器,支持更多配置元素,更好的日志功能,很多配置選項,配置重加載,便于文檔化。?
什么是java templates插件?
Java Templates插件是"簡單主題"(simple theme)的一個快速實現,只使用Java編寫(標準實現采用FreeMarker)。該插件的標簽比標準的實現快4到5倍,缺點是無法重寫。
目前有很多web框架,你覺得struts2的優勢是什么?
Struts 2可能是目前最松耦合的框架。它非常易用,很多功能只需要很少或者不需要配置即可使用,容易掌握。同樣的,添加插件以覆蓋缺省行為也非常簡單。松耦合也支 持在Struts不參與的情況下編寫業務邏輯。而且,Struts可擴展性非常好,目前已運行于一些超高流量的網站上。?
您還有什么要補充的嗎?
Struts 2.1花費了很長時間,但是我們已經努力改進了構建和發布流程,所以未來版本更新會更加及時。
Struts 2.1.6可以通過http://struts.apache.org/2.1.6/index.html下載。
查看英文原文:Struts 2.1 Released