谁能告诉我如何使用Sitemesh。我已经创建了一个布局页面以及页眉和页脚。页眉和页脚作为静态从单独的页面中包含。现在,我希望中间部分“内容”有所不同,以保持页眉和页脚相同。 struts.xml应该是什么,布局的内容将包括子页面。页面中的操作和其他链接将如何使整个站点具有相同的界面。

最佳答案

这是一个最小的例子。 http://www.benmccann.com/blog/sitemesh-tutorial-with-examples/

按照sitemesh的哲学,遵循“装饰器”模式,您的“原始”(未装饰的)视图应该不知道它将被“装饰”(在这里,“装饰”可能意味着“在其中添加了一些常见样式)头部,还有一些常见的菜单div ...')。这种极端的分离是Sitemesh的优点。

更具体地说,您的Struts2视图代码(在您的情况下,是输出每个操作结果的JSP)应该只是完整的html页面(<html><head>...</head><body>...</body></html>),但没有那些“公共”元素。

Sitemesh将捕获原始HTML页面并添加公共片段。这是由一个“装饰器”(可以有多个)指定的,在您的情况下,它可能是一个jsp页面(如示例中所示),并且它本身内部可能有一些jsp <%@include >

10-02 23:12