【IT168 技术资讯】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