Java Velocity vs Apache Tiles
什么更好? 我们将开始一个新的web项目,选择哪种技术是一个问题。 项目包括SpringMVC+WebFlow。 在支持、扩展和性能方面有什么好/坏的经验吗Java Velocity vs Apache Tiles,java,spring-mvc,content-management-system,velocity,tiles,Java,Spring Mvc,Content Management System,Velocity,Tiles,什么更好? 我们将开始一个新的web项目,选择哪种技术是一个问题。 项目包括SpringMVC+WebFlow。 在支持、扩展和性能方面有什么好/坏的经验吗 谢谢。您希望如何将磁贴与Velocity进行比较?-Tiles是一种组合页面片段的方法,而Veleocity是一个更完整的模板引擎,与JSP相比,Tiles更具可比性 无论如何:我将SpringMVC与Tiles和JSP结合使用:它非常有效,节省了大量时间(仅用于使用JSP,或将JSP与Sitemash结合使用),而且我没有注意到任何性能问
谢谢。您希望如何将磁贴与Velocity进行比较?-Tiles是一种组合页面片段的方法,而Veleocity是一个更完整的模板引擎,与JSP相比,Tiles更具可比性
无论如何:我将SpringMVC与Tiles和JSP结合使用:它非常有效,节省了大量时间(仅用于使用JSP,或将JSP与Sitemash结合使用),而且我没有注意到任何性能问题。(但web应用程序从未在高负载下使用。)两者都使用。Tiles和Velocity集成得很好,可以解决不同的问题。你可以用Velocity的#include和#parse指令做一些Tiles-ish的事情,但是Tiles的合成效果更好。Tiles 2.2有一个Velocity插件,所以你可以同时使用这两个插件-通过Velocity,你可以访问上下文并像JSP一样动态构建你的砖块,Tiles可以将你的网站砖块组合在一起。然而,Tiles不允许做很多事情(至少我还没有发现它们),它的文档与Spring或JSF文档相比非常陈旧和糟糕。所以你可以考虑使用不同的技术。
我的currect项目中有Tiles引用,因为Roo是为我做的,但现在我将所有内容都转移到JSF上。Velocity和Tiles是两个不同的野兽-Tiles是一个布局引擎,Velocity是一个模板引擎。就功能而言,它们在任何地方都不相交 从您的问题中,我可以猜到您可能不会使用JSP。这是明智之举。Velocity是模板引擎之一,它做得非常出色
如果您选择按照模板引擎路线进行查看,请签出。这是我创建的一个小型、简单、快速的布局引擎。如果你有一些单独的
HTML
文件,你想把它们放在一个模板中(例如,你有一个单独的页眉、页脚、侧边栏页面,你想把它们放在一起,并以类似报纸的格式显示它们),那么就使用Tiles
如果您想从Java
后端引入动态内容,并将这些值注入完整的HTML
页面,请使用Velocity(也就是说,你有一个HTML
表来显示你选择的汽车,并且你所有的汽车都存储在一个数据库中。使用JPA
,你可以从数据库中获取汽车数据,并将其保存在EJB
Bean、Spring@Component
或类似的列表中。然后,使用Velocity,你可以将其存储在在映射
中形成一个bucket项,并使用VTL
标记引用映射
中的键值项,以便它们可以作为HTML
响应的一部分呈现
为了实现上述目标,Velocity将自身定位为一个完全前端控制器Servlet,或者由另一个MVC框架包装(即Spring MVC提供了一个视图解析器,它包装了Velocity Servlet提供的功能)
HTML
请求通过web.xml
配置定向到Velocity Servlet或替代MVC框架Servlet。作为Servlet响应的一部分,您预烘焙的HTML
视图(包括VelocityVTL
标记)中包含了Map
数据
总之,有效地:
Velocity与JSP在同一领域竞争
Tiles更类似于页面转换。在PHP领域,Smarty是一个受欢迎的表亲
您不能在它们之间进行选择,但可以两者兼用。谢谢您的回答。我们应该选择如何渲染视图,这是最主要的。我还使用了Spring MVC+互动程序,效果很好。一个新项目即将推出,客户提出了速度建议。我所需要的只是一些关于为什么一种方法优于另一种方法的论证。如果客户nts是一种在应用程序发布后编辑网站视图而不打扰开发者的CMS吗?@StanislavL技术知识是最有力的论据之一。这对开发者来说是正确的,但对客户/维护者来说更重要。--如果客户非常了解某项技术,项目就可以完成这项技术,最好使用客户的最爱,因为对于软件开发人员来说,也要比客户容易得多。--无论如何:Velocity和JSP对lern来说并不难。对于这些工具的新手来说,可能正在阅读这个问题,也许值得一提的是JSF是一个组件sed MVC框架,以“Facelets”的形式提供自己的模板引擎和转换标记.相反,独立模板引擎更类似于基于请求的MVC框架,它们要么缺乏自己的视图功能,要么与视图技术无关。Tile和Velocity与Facelets在同一个空间竞争,因为Facelets同时满足这两种需求。