Is it possible to decorate more than once in Sitemesh?
I'm trying to do something like this:
For all the requests to /admin开发者_运维技巧/* I need the page to be decorated using the B decorator but also that B decorator has to be included in the content of A decorator which is main application layout.
How can I do that with Sitemesh?
Is it even possible? Or do I have to repeat the same layout from A in the B decorator?
Thanks in advance
To answer my own question. Yes it is possible:
Using my own example, this is decorator b being decorated by decorator 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>
Here's the example using 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>
精彩评论