Struts 比 Turbine 的结构简单多了,换而言之,Struts 是一个非常纯的 Web Framework,它也仅仅只是一个 Framework.Struts 的官方定义中说了其符合 MVC,我并不是非常认同.Struts 很好的完成了 VC(Visual & Control),但它并没有提供相应的M(Module),或者说不明显.Struts 最好的搭档可能就是 EJB 了,因为 EJB 补充了它的 M.
而 Turbine 则不然,它的设计思路决定了它是一个 Web 应用的完全解决方案.Turbine 并不是十分符合 J2EE 标准.它有自己一整套解决方案,它是一个真正意义上的 MVC 模式框架.它具有大量的子项目来支持它的应用(子项目树仅次于Jarkarta Commons 位居第二)
Turbine 要比 Struts 难理解,难学,但是掌握它是有意义的.如果你只是要写一个 Web App 的话,Turbine 开发要比 Struts 快.
Turbine 支持 Velocity,WebMacro,Cocoon(XSLT) 等等,虽然它也支持JSP,不过它的最最亲密的战友任是 Velocity.
Struts 对于写过 JSP 和 Servlet 的人来说可能会很轻切.Jakarta 项目组的相关项目 Taglibs 提供了大量的 Tag 以支持 Struts,使 Struts 的结构性和统一性变得很好,Struts 的另一个 Turbine 不如的地方是它的 mapping-forward 机制,在 Struts 中是用 struts-config.xml 文件来管理的,虽然随着你的项目的扩大,这个xml文件会变得很大以至于难以维护(一般大的项目中会有专人管理这个文件),但是它的统一性和导航逻辑性比 Turbine 好的多,Turbine 把相应的逻辑以 Velcoity Template 类来控制.在相应的Velocity 页面中也会用相关的导航.