webwork2和spring mvc framework的比较
最后列出本人对webwork2和spring mvc framework使用的一些个人观点,不对的地方请予以更正。
(1)基本使用
spring mvc framework与spring的其它部分一起使用自然能够很好的融合,不需要额外的工具包和配置
webwork2和spring集成需要webwork2-spring.jar做连接器,并要做相当步骤的配置,不过还算简单
(2)控制器
spring mvc framework的控制器要实现controller接口,其处理核心是handlerequest(表单交互是onsubmit)方法,主要任务是构造model数据返回给视图显示
webwork2的控制器要扩展actionsupport类(action接口的缺省实现),其处理核心是execute方法,由于视图需要的model数据都是以action属性的形式存在,其主要任务是设置这些属性的值
(3)显示视图内容
spring mvc framework只提供绑定表单域元素的taglibs,视图内容显示功能则由jstl完成
webwork2需要使用自己提供的taglibs显示视图内容,才能很好的利用它的特性,因此不需要jstl
(4)资源束访问
spring mvc framework提供通用的方法:指定(集中)存放资源束的属性文件,并能和jstl的<fmt:message>很好的结合使用
webwork2使用action类名或其父类名对应的属性文件存放资源束;资源束可以分散到各action类名对应的属性文件中,也可以集中到父类名对应的属性文件中,用<ww:text>访问
(5)表单交互
spring mvc framework使用command对象(pojo)封装表单交互传递的数据,并使用taglibs绑定command对象的属性到表单域元素,来读取和设置表单域元素的值,有些复杂
webwork2将action属性和表单域元素自然绑定,比较简洁明了,但是其验证失败后错误信息的处理没有spring mvc framework简洁
(6)数据有效性验证
spring mvc framework需要自己编写验证器,并且验证规则和实现逻辑混合在一起,不利于重用
webwork2提供比较灵活的验证机制:首先是将验证规则和实现逻辑分离,便于重用;其次是webwork2和xwork提供了常用的验证器,不需要再自己写了;此外,验证规则用xml文件保存,修改验证规则只要修改xml文件,不需要修改代码;最后,如果没有适合的验证器,也可以自己扩展定制验证器,写一次就可以重复利用
(7)个人观点
本人认为使用webwork2来实现web应用层更好些,虽然需要做一些额外的配置,但是webwork2有它的一些优势,如前面讲的表单交互的简洁性,数据验证的规则和实现分离,另外还有集成的ognl特性,velocity技术等。
注:spring也支持velocity,没有深入研究,可以自己去看看
闽公网安备 35060202000074号