速度与Apache Tiles

Sta*_*avL 6 java velocity tiles spring-mvc content-management-system

什么更好?我们将开始一个新的Web项目,这是一个选择哪种技术的问题.项目包括Spring MVC + WebFlow.在支持,扩展和绩效方面有任何好的/坏的经验吗?

谢谢.

mai*_*nas 8

Velocity和Tiles是两种不同的野兽--Tiles是布局引擎,Velocity是模板引擎.它们在功能方面不会交叉.

从你的问题我猜你可能不会使用JSP.这是一个聪明的举动.Velocity是那里的模板引擎之一,它做了绝对出色的工作.

如果您选择按照模板引擎路线查看视图,请查看commentit.这是我创建的一个小巧,简单,快速的布局引擎.它可能完美地满足您的目的.


Ral*_*lph 7

你想怎么比较Tiles和Velocity? - Tiles是一种组合页面片段的方法,而Veleocity是一个更完整的模板引擎,与JSP相比,可以比Tiles更好.

无论如何:我使用Spring MVC和Tiles和JSP:它工作得很好,节省了很多时间(仅仅使用JSP或者使用Sitemash的JSP),我没有注意到任何性能问题.(但Web应用程序从未在高负载下使用过.)


8bi*_*kie 6

如果你想在模板中加入一些单独的文件,请使用TilesHTML(即你有一个单独的Header,Footer,Sidebar页面,你想将它们组合在一起并以类似报纸的格式显示) .

如果要从后端引入动态内容并将这些值注入整页(例如,您有一个表格可以显示一系列汽车,并且所有汽车都存储在数据库中,请使用Velocity.使用,您可以获得将Car数据从数据库中导出,并保存在Bean中,或类似.然后,使用Velocity,您可以将该信息存储为a中的bucket项,并使用mark-up来引用键值项在使得它们可以呈现为在部分响应.JavaHTMLHTMLJPAList<Car>EJBSpring @ComponentMapVTLMapHTML

为了实现上述目的,Velocity将自己定位为一个彻头彻尾的Front Controller Servlet,或者由另一个MVC框架包装(即Spring MVC提供了一个View Resolver,它包含了Velocity Servlet提供的功能).

HTML请求通过web.xml配置定向到Velocity Servlet或备用MVC框架Servlet .作为servlet响应的一部分,预先烘焙的HTML视图(包括Velocity VTL标记)可以丰富Map数据.

有效地,总结:

Velocity在与JSP相同的空间中竞争.

Tiles更类似于页面转换.在PHP空间中,Smarty是一个受欢迎的堂兄.

你不要在它们之间做出选择,但很好地可以同时使用它们.