五、从国际化管理角度来说
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
这就是现状,不信你可以试一试
分享到:
相关推荐
此软件介绍webwork and struts and jsf的区别
在JAVA EE中作为MVC的优秀框架有很多,例如:常见的有:Struts、WebWork、Tapestry、JSF等,在这些优秀的框架之中,个人比较习惯使的还是:Struts和WebWork,对于JSF使的不多,虽然SUN公司主推JSF,但观察其身边的搞...
第一阶段: 您将学习 JAVA 编程的基础部分,即 J2SE 部分,共分 2 门课程 第二阶段: 您将学习 JAVA WEB 技术,共分 7 门课程 第三阶段: 您将学习 J2EE 技术 ...流行Web框架简介 Struts / WebWork / Tapestry
Struts 2与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Strut2没有继承Struts 1的血统,而是继承了WebWork的血统。...
值得庆幸的是Struts的开发人员也意识到了Struts的这些缺点,因此在2006年Struts和另外一个Web项目开发框架WebWork进行了合并,形成了新的Web项目开发框架Struts2。这个所谓的Struts2其实就是WebWork的一个新版本。一...
Wicket是什么 简单点说,它是一个基于JAVA的WEB开发框架,与Struts ,WebWork,Tapestry 相类似。其特点在于对Html 和代码进行了有效的分离(有利于程序员和美工 作),基于规则的配置 减少了XML等配置文件的使用 ...
简单点说,它是一个基于Java 的Web 开发框架,与Struts,WebWork, Tapestry 相类似。其特点在于对Html 和代码进行了有效的分离(有利于程序员和美工的合 作),基于规则的配置(减少了XML 等配置文件的使用),学习...
Wicket是一个基于Java的Web开发框架,与Struts,WebWork,Tapestry类似。其特点在于对Html和代码进行了有效的分离(有利于程序员和美工的合作),基于规则的配置(减少了XML等配置文件的使用),学习曲线较低(开发...
简单点说,它就是一个基于Java 的Web 开发框架,与Struts, WebWork,Tapestry相类似。其特点在于对Html 和代码进行了有效的分离(有利于程序员 和美工的合作),基于规则的配置(减少了XML 等配置文件的使用)...
Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序...
Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序...
Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序...
Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序...
Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序...
Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序...
Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序...
Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于JEE应用程序之中,也可以应用于桌面应用程序以及...
它可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与Swing等桌面应用程序AP组合。因此,Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小...
JSF的竞争对手不是struts/webwork之流,它们基本上已经是不同阶段上的东西了,放在一起比较意义不大。 JSF的开发流程和asp.net中所倡导的code behind方式很相似,核心是事件驱动,组件和标签的封装程度非常高,很多...
such as Struts, WebWork, Tapestry, Rails, MonoRail, and others. It also came about as C# started to push away its fully statically typed roots. The language enhancements introduced with .NET 3.5 have ...