Верхний и нижний колонтитулы и freemarker
Мой сайт имеет заголовок и нижний колонтитул, который я хочу на всех страницах.
Каков наилучший способ сделать это?
Заголовок также будет иметь некоторые динамические данные на основе текущего представления.
P.S Имеет ли freemarker какие-либо функции главной страницы? Где я могу создать базовый шаблон, а затем создать другие шаблоны на базе?
В принципе, я хочу создать шаблон с верхним и нижним колонтитулом + место для основной области содержимого.
Затем все другие страницы наследуют основной шаблон (с заголовком + нижний колонтитул), а затем вводят вывод обработки действия в основную область содержимого шаблонов.
Ответы
Ответ 1
Определите макрос как это в библиотеке импорта:
<#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>
Ответ 2
Вы можете найти spring -специальную часть в справочнике spring, а часть freemarker в онлайн-документы freemarker
(Похоже, что Freemarker поддерживает мастер-страницы, но с помощью рекурсивного использования include
вы можете добиться высокого уровня повторного использования кода)
Ответ 3
Посмотрите SiteMesh. Я считаю, что вы сочтете это полезным.