2011-03-16 16 views
9

estoy tratando de hacer algo como esto: the layout¿Es posible decorar más de una vez en Sitemesh?

Para todas las peticiones a/admin/* Necesito la página para ser decorada con el decorador de B, sino también que B decorador tiene que ser incluido en el contenido de un decorador que es el diseño de la aplicación principal.

¿Cómo puedo hacer eso con Sitemesh?

¿Es posible? ¿O tengo que repetir el mismo diseño de A en el decorador B?

Gracias de antemano

Respuesta

14

Para responder a mi propia pregunta. Sí es posible:

Usando mi propio ejemplo, esto es decorador b ser decorado por la decoradora un.

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

Este método está bien. – imcaptor

0

Aquí está el ejemplo usando 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> 
Cuestiones relacionadas