Верхний и нижний колонтитулы и 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. Я считаю, что вы сочтете это полезным.