struts2之整合sitemesh(简介)
----------
sitemesh是一个非常优秀的页面装饰框架,sitemesh通过filter来截取request和response,然后给原始的页面加入一定的装饰(可能为header,footer等),然后把结果返回给客户端。对于被装饰的页面而言,完全无需关心本页面被装饰器装饰(装饰器被配置在配置文件中,由装饰器配置文件来控制哪个装饰器装饰哪些页面)。通过这种方式可以最大限度地实现页面代码的复用,并提供优秀的解耦。
sitemesh框架是opensymphony团队开发的javaEE框架之一,该框架的目的是页面的可维护性和复用性。sitemesh应用装饰器模式,用filter截取request和response,把装饰器页面中指定的公用内容插入到被装饰页面中,从而形成一个个完整页面。
通过使用sitemesh的页面装饰效果,我们就可以删除所有jsp页面的include指令,但达到与使用include指令相同的效果,并提供比include更好的解耦,更好的代码复用。
struts2可以通过sitemesh插件来与sitemesh框架整合,一旦strut2应用整合了sitemesh框架后,就可使用sitemesh装饰页面来装饰应用中的其他页面。struts2对sitemesh框架进行了进一步封装,使用sitemesh装饰会更加简单。
在struts2应用中,不仅可以使用jsp页面作为装饰器页面,也可使用FreeMarker模板作为装饰器页面,从而提供更多灵活选择。