SiteMesh装饰页面,使得代码更加简洁,可维护性更好。
decorator的原理:
sitemesh应用Decorator模式,用filter截取request和response,把页面组件head,content,banner、bottom结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header, stylesheet, scripts and footer.
在sitemesh中,页面分为两种:装饰模板和普通页面。1)装饰模板,是指用于修饰其它页面的页面。2)普通页面,一般指各种应用页面。
整个装饰流程是这样的, 1 :它通过过滤器(filter)来拦截页面访问 2 :根据被访问页面的URL找到合适的装饰模板 3 :提取被访问页面的内容,放到装饰模板中合适的位置 4 :最终将装饰后的页面发送给客户端。
Sitemesh标签
我们看一下装饰模板中可以使用的Sitemesh标签
<decorator:head />
取出被装饰页面的head标签中的内容。
<decorator:body />
取出被装饰页面的body标签中的内容。
<decorator:title default="" />
取出被装饰页面的title标签中的内容。default为默认值
<decorator:getProperty property="" default="" writeEntireProperty=""/>
取出被装饰页面相关标签的属性值。
xml配置
这些不详细叙述了,可以参考下面的链接.
重要参考链接:
http://www.jb51.net/web/70208.html
http://blog.csdn.net/jzh440/article/details/7770013
http://limuquan.iteye.com/blog/251522