我见过Sitemesh与Spring和Freemarker(FTL)一起使用。所以我想知道什么是Sitemesh及其与FTL的使用,例如。
答案 0 :(得分:9)
@see:http://www.opensymphony.com/sitemesh/
它是什么?
SiteMesh是一个网页布局和装饰框架以及网络应用程序集成框架,有助于创建包含许多页面的大型网站,这些网站需要具有一致的外观,导航和布局方案。
SiteMesh拦截对通过Web服务器请求的任何静态或动态生成的HTML页面的请求,解析页面,从内容中获取属性和数据,并生成适当的最终页面,并修改原始页面。这是基于众所周知的GangOfFour装饰器设计模式。
SiteMesh还可以将整个HTML页面作为Panel包含在另一个页面中。这类似于服务器端包含,除了将修改HTML文档以在页面内创建可视窗口(使用文档的元数据作为辅助)。使用此功能,可以非常快速有效地构建Portal类型的网站。这是基于众所周知的GangOfFour Composite设计模式。
SiteMesh是使用Java 2与Servlet,JSP和XML技术构建的。这使它非常适合与J2EE应用程序一起使用,但它可以与基于Java的服务器端Web体系结构集成,例如CGI(Perl / Python / C / C ++ /等),PHP,ColdFusion等...... / p>
SiteMesh非常易于扩展,其设计方式可以轻松扩展以满足自定义需求。
答案 1 :(得分:1)
sitemesh是一个网页布局框架。
答案 2 :(得分:1)
OpenSymphony似乎不再存在,所以我见过的最好的Sitemesh文档可以通过他们的Wiki和他们Github repository的自述文件获得。
我要提醒您,如果您对使用Sitemesh感兴趣,或至少了解其在项目中的结构,Sitemesh2和Sitemesh3在结构和实施方面存在重大差异,从概念上讲,工作方式相同。