什么是Sitemesh?

4

我曾见过Sitemesh在Spring和Freemarker(FTL)中使用。因此,我想知道Sitemesh是什么以及它与FTL的用法,附带示例。


5
你考虑过查看主页并阅读它吗?http://www.opensymphony.com/sitemesh/ - skaffman
1
这是关于[tag:sitemesh]的标签注释(将鼠标悬停在标签上即可查看)...只是说一下 :) - t0mm13b
3个回答

11
@参见: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非常易于扩展,设计得很容易根据自定义需求进行扩展。

2

OpenSymphony似乎不再存在,因此我看到的Sitemesh最好的文档是通过他们的Wiki和作为Github存储库上的Readme提供的。

我想要警告的是,如果你有兴趣使用Sitemesh,或者至少理解它在项目中的结构,Sitemesh2Sitemesh3在其结构和实现方面有显着的差异,尽管它们在概念上的工作方式相同。


1

sitemesh是一个网页布局框架。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接