Можно ли украшать более одного раза в Sitemesh?

Я пытаюсь сделать что-то вроде этого: the layout

Для всех запросов к /admin/* мне нужно, чтобы страница была украшена с помощью декоратора B, но также этот декоратор B должен быть включен в содержимое декоратора A, который является основным макетом приложения.

Как я могу сделать это с помощью Sitemesh?

Это вообще возможно? Или мне нужно повторить тот же макет из A в декораторе B?

заранее спасибо


person Alfredo Osorio    schedule 16.03.2011    source источник


Ответы (2)


Чтобы ответить на мой собственный вопрос. Да, это возможно:

Используя мой собственный пример, это декоратор b, украшенный декоратором a.

<page:applyDecorator name="a">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Decorator B</title>
    <decorator:head/>
</head>
<body id="page-home">
    This is a test.
</body>
</html>
</page:applyDecorator>
person Alfredo Osorio    schedule 17.03.2011

Вот пример использования freemarker:

<#assign decorator = JspTaglibs["http://www.opensymphony.com/sitemesh/decorator"]/>
<#assign page = JspTaglibs["http://www.opensymphony.com/sitemesh/page"]/>
<@page.applyDecorator name="a">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Decorator B</title>
    <@decorator.head/>
</head>
<body id="page-home">
    This is a test.
</body>
</html>
</@page.applyDecorator>
person Community    schedule 02.07.2012