Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates struts项目中的瓷砖-比freemarker更好?_Templates_Struts_Velocity_Tiles_Freemarker - Fatal编程技术网

Templates struts项目中的瓷砖-比freemarker更好?

Templates struts项目中的瓷砖-比freemarker更好?,templates,struts,velocity,tiles,freemarker,Templates,Struts,Velocity,Tiles,Freemarker,我想在struts应用程序中使用模板引擎,并想知道是否可以推荐使用TILES而不是FREEMARKER或VELOCITY。我以前在项目中使用过TILES。它对于模板化很好,但是它不能真正与velocity或freemarker相比:对于Tile,您使用普通JSP,并且仅限于您获得的JSP标记 Velocity(可能还有Freemarker,尽管我以前没有使用过)提供了自己的标记或表达式语言,因此您可以这样做: Hello${name} 这在普通JSP中是做不到的。[由于注释而更新:在JSP 2.

我想在struts应用程序中使用模板引擎,并想知道是否可以推荐使用TILES而不是FREEMARKER或VELOCITY。

我以前在项目中使用过TILES。它对于模板化很好,但是它不能真正与velocity或freemarker相比:对于Tile,您使用普通JSP,并且仅限于您获得的JSP标记

Velocity(可能还有Freemarker,尽管我以前没有使用过)提供了自己的标记或表达式语言,因此您可以这样做:

Hello${name}

这在普通JSP中是做不到的。[由于注释而更新:在JSP 2.0中,包含了EL,因此您可以执行类似的操作。但是,我认为Velocity或Freemarker在您可以使用它执行的操作方面更强大。]

如果您有一个包含许多不同组件(例如标题、侧边栏等)的布局,并且您想要定义各种不同的模板,那么平铺不是一个坏的选择。(尽管需要警告,但它可能包含大量XML!)


但是如果您需要比普通JSP更“高级”的东西,那么Velocity或Freemarker可能是一种选择。

我使用tiles和Velocity

Tiles非常适合在组件中划分页面,并在屏幕之间重用标记,而velocity是php世界中一种非常好的模板语言


我建议不要在tiles和velocity之间进行选择,而是同时使用两者。它们互补性很好

或者您可以使用条纹。比瓷砖容易多了

表达式语言自2.0以来一直是JSP规范的一部分,因此您可以在普通JSP中实现这一点。