Struts2与Webwork2的区别
一直在用Webwork2,因为Struts2基于Xwork2开发,变化更多的体现在名称上,所以平时甚少关注。这些天看了一下Apache上的文档,觉得Struts2更加优雅一些,至少Action变成了一个纯粹的POJO,而无须再实现任何一个接口。
Struts2不再提供Webwork2内置的IoC容器支持,转而将Spring作为ObjectFactory的缺省实现。所有由Struts2创建的对象都是由ObjectFactory实例化,ObjectFactory可以集成各种IoC容器,例如Spring、Pico、 Plexus等等.
在拦截器方面,Struts2不再支持AroundInterceptor,如果要用到AroundInterceptor ,则必须单独引入Webwork2的相关类,或者重写自己的拦截器。这一点是我不太理解的地方,不知出于什么考虑。
Struts2全面引入了Dojo,大概是对以前Webwork2在客户端实现的不满吧。例如不再支持Webwork2的richtexteditor,而以Dojo的编辑器取代。说实话,Webwork2了的rich text编辑器确实不太好用,有不少bug。还把Webwork2的Datepicker标签换成了Dojo实现的datetimepicker标签。
对开发人员而言,Struts2在Action映射方面的改进值得关注,尤其是借鉴了Spring的方式,提供了对action名称通配符的支持。在Webwork2里,需要在xwork.xml里以如下格式定义action:
<action name="Logon" class="tutorial.Logon"> <result type="redirectAction">Menu</result> <result name="input">/Logon.jsp</result> </action>
而在Struts2中,则可以引入通配符,形如:
<action name="*Logon" class="tutorial.Logon"> <result type="redirectAction">Menu</result> <result name="input">/Logon.jsp</result> </action>
这样,任何以Logon结尾用作登录验证的Action,例如NewUserLogon,都可调用tutorial.Logon的一个实例。
Struts2还引入一个消息存储拦截器MessageStoreInterceptor用于存放、检索各种提示、错误消息等等,在一个session生命期中都是可用的。
评论
你把property合成一个class,和formbean不是一回事么。而且以前formbean里面的property只能是string。
变来变去,返璞归真了
在struts出现前,我们是不是就这么用的啊?!
唯一的不同是现在更注重了分层;
再者就是给了更好的实践约束,便于团队风格相近。
你把property合成一个class,和formbean不是一回事么。而且以前formbean里面的property只能是string。
因为完全没有令人激动的特性!而且还听说变慢了!
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 842 次
- 性别:

- 来自: 杭州

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
Struts2与Webwork2的区别
[quote="aninfeel"]Action变成了一个纯粹的POJO,现在正 ...
-- by elvewyn -
Struts2与Webwork2的区别
偶还是喜欢webwork,一直用webwork,struts2的通配符比较实用, ...
-- by zhongli -
Struts2与Webwork2的区别
crysoul 写道aninfeel 写道Action变成了一个纯粹的POJO, ...
-- by cuiyi.crazy -
Struts2与Webwork2的区别
aninfeel 写道Action变成了一个纯粹的POJO,现在正为这个郁闷呢, ...
-- by crysoul -
Struts2与Webwork2的区别
本人今年开始做struts2的项目,以前多年做struts的,感觉struts2 ...
-- by wjywilliam






评论排行榜