JSP和速度之间的优势 - 性能 - 易于使用 - 易于创建可重用组件 - 开源第三方的可用性 - IDE支持
Tiles和Sitemesh看起来很受欢迎但是这些东西真的很旧,与目前来自Ruby(ERB)或PHP(开放式电源模板)的当前很棒的东西相比看起来很糟糕.这些天模板引擎允许舒适的模板化(插入变量,根据上下文自动化,迭代Iterables,访问bean属性)和布局(例如页眉,页脚和覆盖以及添加到父级中定义的某些部分),而不需要任何困难的配置,并且不需要需要更改当前堆栈(例如您的Web框架).
示例parent.html:
<html>
<head>
<title>
<layout:part name="title">
Default title
</layout:part>
</title>
<layout:part name="head" />
</head>
<body>
<div class="menu" layout:part="menu">
default menu
</div>
<div class="content" layout:part="content" />
<div class="footer">
(c) me
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
示例child.html
<layout:extend file="parent.html">
<layout:fill name="title">
Custom title
</layout:fill>
<layout:fill name="contnet">
the content
{$var} from model
</layout:fill>
</layout:extend>
Run Code Online (Sandbox Code Playgroud)
我正在寻找更好的Facelets,这不需要我改变整个堆栈 - 我不会让整个项目适应JSF或Wicket只是为了使用更好的视图.
模板引擎不应该需要任何其他servlet或过滤器(没有基于URL的逻辑).我想以编程方式使用引擎.一个可能的用例是在Spring 3中定义自定义ViewResolver.
如果布局没有在配置文件中预先定义,那将是完美的.如果只是在模板文件中定义父视图,则不需要这样做.
该框架可能位于JSP之上,但并非如此.优点是可以使用其他框架(例如Spring)提供的taglib.
或者也许Sitemesh/Tiles中已经存在所有内容但需要大量配置?如果您知道任何允许实现所有上述目标的示例配置,请告诉我.
相关问题:Sitemesh有哪些替代方法可以帮助在Spring MVC应用程序中布局JSP/JSTL页脚/标题? - 我的问题也涉及模板,并不仅限于Spring Web MVC.