верхний и нижний колонтитулы и freemarker

На моем веб-сайте есть согласованный верхний и нижний колонтитулы, которые я хочу видеть на всех страницах.

Как лучше всего это сделать?

Заголовок также будет иметь некоторые динамические данные, основанные на текущем представлении.

P.S. Есть ли у freemarker какие-либо функции мастер-страницы? Где я могу создать базовый шаблон, а затем создать на его основе другие шаблоны?

В основном я хочу разработать шаблон с верхним и нижним колонтитулами + заполнитель для основной области содержимого. ТОГДА все остальные страницы наследуют основной шаблон (с верхним и нижним колонтитулами), а затем вставляют выходные данные рендеринга действия в область основного содержимого шаблонов.


person Blankman    schedule 01.07.2010    source источник


Ответы (3)


Определите такой макрос в библиотеке импорта:

<#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>
person Jiří Vypědřík    schedule 19.06.2011

Вы можете найти часть, относящуюся к Spring, в весенней ссылке и часть freemarker в фримаркер онлайн документы

(Похоже, что Freemarker не поддерживает мастер-страницы, но за счет рекурсивного использования include можно добиться высокого уровня повторного использования кода)

person Sean Patrick Floyd    schedule 01.07.2010

Взгляните на SiteMesh. Я верю, что вы найдете это полезным.

person Eric Adamson    schedule 17.12.2010