有人能告诉我如何使用Sitemesh吗。我已经创建了一个布局页面和页眉和页脚。页眉和页脚作为静态<%从单独的页面中包括@包括>。现在我希望中间部分"内容"保持页眉和页脚不变。struts.xml应该是什么,Layout的内容应该是什么以包括子页面。页面中的操作和其他链接将如何使整个网站具有相同的界面。
这里有一个最小的例子。http://www.benmccann.com/blog/sitemesh-tutorial-with-examples/
在sitemesh的理念中,遵循"decorator"模式,您的"原始"(未装饰)视图应该不知道它将被"装饰"(这里,"装饰"可能意味着"在头部添加一些常见样式,在主体中添加一些常见菜单div…")。这种极端的解耦就是sitemesh之美。
更具体地说,您的Struts2视图代码(在您的案例中,是输出每个操作结果的JSP)应该只是一个完整的html页面(<html><head>...</head><body>...</body></html>
,但没有那些"公共"元素。
Sitemesh将捕获原始HTML页面并添加常见片段。这是由"decorator"指定的(您可以有多个),在您的情况下,它可能是一个jsp页面(如示例中所示),并且它本身可能有一些jsp <%@include >
。