@参见:http://www.opensymphony.com/sitemesh/ SiteMesh是一个用于网页布局和装饰的框架,以及一种用于创建由众多页面组成、需要统一外观、导航和布局的大型网站的Web应用程序集成框架。SiteMesh会拦截对通过Web服务器请求的任何静态或动态生成的HTML页面的请求,解析页面,从内容中获取属性和数据,并生成适当的最终页面,修改原始页面。这基于著名的GangOfFour Decorator设计模式。SiteMesh还可以将整个HTML页面作为面板包含在另一个页面中。这类似于服务器端包含(Server-Side Include),但HTML文档将被修改以在页面内创建一个可视窗口(使用文档的元数据作为辅助)。利用此功能,可以非常快速有效地构建门户类型的网站。这基于著名的GangOfFour Composite设计模式。SiteMesh使用Java 2与Servlet、JSP和XML技术构建。这使它非常适合与J2EE应用程序一起使用,但也可以与不基于Java的服务器端Web架构集成,例如CGI(Perl/Python/C/C++等)、PHP、ColdFusion等...SiteMesh非常易于扩展,设计得很容易根据自定义需求进行扩展。
OpenSymphony似乎不再存在,因此我看到的Sitemesh最好的文档是通过他们的Wiki和作为Github存储库上的Readme提供的。 我想要警告的是,如果你有兴趣使用Sitemesh,或者至少理解它在项目中的结构,Sitemesh2和Sitemesh3在其结构和实现方面有显着的差异,尽管它们在概念上的工作方式相同。