我在 Spring MVC 应用程序中使用 Sitemesh 3 和 Freemarker。Freemarker 页面输出被传递给 Sitemesh 以应用 JSP 装饰器(一旦我整理好我的配置,它将是 FTL - 我有另一个关于此的 SO 问题 - 尚未得到解答)。
我已经让 Sitemesh 3 将正文正确应用于模板,现在我想添加到我的设置中,以便 FTL 视图可以设置将在页面标题中呈现的属性。
Sitemesh (JSP) 模板/装饰器 - 这会产生正确的输出,除了可变内容标题:
<div id="mainWrapper">
<div id="content">
<div id="contentheading"><sitemesh:write property="page.heading"></sitemesh:write></div>
<div>
<sitemesh:write property='body'/>
</div>
</div>
</div>
为了创建将在 div#contentheading 元素中呈现的某些属性,我需要在我的 .ftl 中做什么?
我有一个使用自定义过滤器实现的站点网格的 Java 配置:
public class SitemeshFilter extends ConfigurableSiteMeshFilter {
@Override
protected void applyCustomConfiguration(SiteMeshFilterBuilder builder) {
builder.setMimeTypes("text/html", "application/xhtml+xml");
builder.addDecoratorPath("/*", "/WEB-INF/templates/page.jsp");
}
}
请注意我使用的是 Sitemesh 3