在Sitemesh中可以多次装饰吗?

时间:2011-03-16 18:05:05

标签: layout sitemesh

我正在尝试这样做: the layout

对于/ admin / *的所有请求我需要使用B装饰器来装饰页面,但是B装饰器必须包含在作为主应用程序布局的装饰器的内容中。

我如何使用Sitemesh做到这一点?

甚至可能吗?或者我是否必须在B装饰器中重复相同的布局?

提前致谢

2 个答案:

答案 0 :(得分:14)

回答我自己的问题。是的,有可能:

使用我自己的例子,这是由装饰 a 装饰的装饰 b

<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>

答案 1 :(得分:0)

以下是使用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>