当前位置: 代码迷 >> Web前端 >> Struts2/webwork与tapestry的差别(二)
  详细解决方案

Struts2/webwork与tapestry的差别(二)

热度:131   发布时间:2012-11-01 11:11:31.0
Struts2/webwork与tapestry的区别(二)

五、从国际化管理角度来说

?? 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

这就是现状,不信你可以试一试

1 楼 downpour 2009-02-05  
引用
tapestry支持多个properties文件

   webwork是单个


这个说法有误,webwork支持action和package级别的properties。

你写的这个区别还比较客观,不像有些tapestry的粉丝,随便一句就是tapestry是神的产物。。。
2 楼 magician007 2010-05-10  
刚刚接触tapestry,觉得很多东西的实现上很别扭,正在纠结要不要放弃它
  相关解决方案