совет относительно шаблонной обработки freemarker, хотите создать основной шаблон

Я хочу создать основной шаблон, который наследует любая страница представления.

Таким образом, основной шаблон будет иметь:

HEADER
--CONTENT--
FOOTER
  1. заголовок дополнительно покажет (если пользователь будет зарегистрирован), имя пользователя и другие свойства пользовательского объекта.

  2. - СОДЕРЖАНИЕ - является заполнителем, что другое 'наследование' просматривает страницы, введет их содержание в.

Таким образом, мои вопросы, действительно ли это возможно с freemarker? Если так, руководство?

Как я передал бы пользовательский объект заголовку от моих действий контроллера? идеально объект был бы передан в куда-нибудь Кроме каждого просматривать страницу (чтобы избежать необходимости поддерживать этот код каждого просматривать страницу).

6
задан Blankman 19 July 2010 в 14:42
поделиться

1 ответ

Да, это возможно. В наших приложениях такие вещи, как объект user, существуют в области видимости сессии, но это может быть любая область видимости, к которой имеет доступ freemarker:

<#if Session.the_user?? && Session.the_user.loggedIn>
    <#-- header code -->
</#if> 

Вы можете опустить Session. , и Freemarker будет искать заданное имя переменной в различных областях видимости.

Чтобы внедрить содержимое, включите это в том месте главного шаблона, где вы хотите, чтобы страница представления разместила свое содержимое:

<#nested>

Страницы представления затем объявляют об использовании главного шаблона следующим образом:

<#import "/WEB-INF/ftl/path/to/template/master.ftl" as com>
<@com.template>
    View page content
</@com.template>
3
ответ дан 17 December 2019 в 06:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: