2011-03-16 34 views
9

Tôi đang cố gắng để làm một cái gì đó như thế này: the layoutCó thể trang trí nhiều lần trong Sitemesh không?

Đối với tất cả các yêu cầu/admin/* Tôi cần trang để được trang trí bằng cách sử dụng trang trí B nhưng cũng là B trang trí phải được bao gồm trong nội dung của trang trí là bố cục ứng dụng chính.

Tôi có thể làm điều đó bằng Sitemesh như thế nào?

Thậm chí có thể không? Hay tôi phải lặp lại cùng một bố cục từ A trong trình trang trí B?

Cảm ơn trước

Trả lời

14

Để trả lời câu hỏi của riêng tôi. Có thể:

Sử dụng ví dụ của riêng tôi, đây là trang trí b được trang trí bởi trang trí 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> 
+0

Phương pháp này là ok. – imcaptor

0

Dưới đây là ví dụ sử dụng 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>