五、从国际化管理角度来说
tapestry支持多个properties文件
webwork是单个
如tapestry在资源配置上一般都是一个html,一个page,以及一个properties,这个html上一些静态的文字都会写在properties上,而通用的写在一个application对应的properties上面,而webwork是针对不同的语言写在不同的applicationresource.properties文件,他们区别语言种类都是按照_zh或者_en进行读取的,但webwork在写静态文字上对不同的jsp都是写在一个properties上的
六、整合其他通用标签
由于tapestry是html编写方式,因此在整个国际通用<C==========叫什么标签忘了,是不支持的
webwork在jsp上是支持的
因此在这方面上webwork可以自定义通用标签tag,采用TagSupport进行自定义,而tapestry只能编写组件
七、从拦截请求字符上说
tapestry所有的拦截一般都是根据一个html的请求的数据校验拦截写配置page里面
webwork所有的拦截一般都是一个model一个validate.xml文件,也可以定义在validators.xml然后采用interceptor-ref方式写在对应的xwork.xml或者struts.xml,因此在自定义拦截方面的上webwork比tapestry简单,tapestry要拦截form提交进行自定义,自我感觉很难理解
八、通用格式数据显示
tapestry没有像webwork的一样转换器,要通用java.util.date这样的东西,一个字==========烦
九、从阅读代码方式
tapestry的action,具体说应该是一个page是个抽象类
webwork的action是一个简单的java类
当然一个抽象类也是一个简单的java类,只不过他包含了抽象方法而已,最为纳闷的是他的ognl读取资源数据一般都写成抽象方法,当然也可以写成普通方法,这样的抽象方法使得page类很简洁,但我第一次阅读这些代码的时候我还以那里的类实现了他呢,说他比webwork更易于理解就是谬论了
十、从学习角度来讲
tapestry是个抽象的东西,什么东西都封装了
webwork是个开放的接口的东西,在很多地方的都可以拦截读取
tapestry与webwork一样在网络上的资料还是比较少的,但个人理解webwork的框架逻辑简单易于理解,tapestry就相对复杂了点
十一、从稳定上来讲
webwork的相对要简单些,在扩展方面上不应该有非常大的变动
tapestry是封装型的抽象的东西,在扩展方面上可能会有大的变化,严重的就会不支持低版本的出现
webwork一般要改动的话,也是估计是在<interceptors>上有很大的改动,因为里面的灵活性很高,在校验与封装进行统一化,还有转换器也可能该成<interceptors>方式或许更好一些,明确地说,webwork若要改动,他们也是改动里面的接口逻辑,对配置文件的配置方式应该不会很大,而里面的东西一般都封装好了我们可以不去考虑它,只要支持现有模式就足够
tapestry就不一样了,他的方式都是组件的方式,当一个组件不可以用时,我们都得要从新改掉这个组件方式
十二、从公司的用人角度来讲
在市场上会struts的人一般你聘请面试一个java开发人员,不会不懂struts/webwork,除非刚毕业的
但你想找一个会tapestry的,你面试一个10个中会出现3个听说过,1个用过,4个不知道这个,1个什么都不会包括struts\webwork\tapestry,1个使用jsf
这就是现状,不信你可以试一试