我的网站在所有网页上都有一个一致的页眉和页脚。
这样做的最佳方式是什么?
根据当前视图,标题也会有一些动态数据。
P.S freemarker是否具有任何类型的母版页功能?我可以在哪里创建基本模板,然后在基础上构建其他模板?
基本上我想设计一个模板,其中包含页眉和页脚+主要内容区域的占位符。 那么,所有其他页面将继承主模板(带有页眉+页脚),然后将动作的渲染输出注入模板主内容区域。
答案 0 :(得分:14)
在导入库中定义这样的宏:
<#macro page title>
<html><head><title>${title?html}</title></head>
<body>
<!-- header section -->
<#nested/>
<!-- footer section -->
</body></html>
</#macro>
并为您的所有网页使用以下模板:
<#import "common.ftl" as c/>
<@c.page title="custom page title">
<!-- custom page content -->
</@c.page>
答案 1 :(得分:1)
(Freemarker似乎不支持母版页,但通过递归使用include
,您可以实现高水平的代码重用)
答案 2 :(得分:1)
看看SiteMesh。我相信你会发现它很有用。