SiteMesh(页面装饰器)简介及应用.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
J2EE:SiteMesh(页面装饰器)简介及应用 最近公司做项目,需要用到SiteMesh框架,坦白的说之前没怎么用过,所以在网上查看了许多相关资料,自己总结了一下,希望对大家有所帮助。   SiteMesh是OpenSymphony团队开发的JEE框架之一,它是一个非常优秀的页面装饰器框架,它通过对所有的用户请求进行过滤,并对服务器向客户端响应也进行过滤,从而给原始的服务器响应加入一定的装饰,可以是header,footer等,然后将经过装饰后的页面送回浏览者.对于被装饰的页面而言,它无需知道自身被谁装饰,也无从知道自身被谁装饰,SiteMesh通过配置文件来配置指定的装饰器,用于过滤某些页面,则该装饰器会装饰这些页面,从而提供更好的页面效果,通过SiteMesh的页面装饰,可以提供更好的代码复用,所有的页面装饰效果耦合在目标页面中,无需使用include指令来显式包含装饰效果,目标页面与装饰页面完全分高.提供更好的解耦,而且可以应用中所有的页面都使用相同的装饰页面,整个Web应用会有更统一的风格,会提供更好的整体效果.   SiteMesh通过Filter来截取request和response,然后给原始的页面加入一定的装饰,再把结果返回给客户端.   SiteMesh应用   1. 定义装饰器页面   装饰器页面就是一个普通的JSP页面,但这个页面包含了一些SiteMesh标签,看下面的页面代码:    %@ page contentType=text/html; charset=GBK% %@ taglib uri=/sitemesh/decorator prefix=decorator% html head titledecorator:title default=第一个装饰器页面//title decorator:head/ /head body SiteMeshhr decorator:body / hr div style=font:9pt align=centerSiteMesh/div /body /html  ? 它与传统的JSP页面并没有太大的区别,它包含了三个SiteMesh标签:   1,:将被装饰页面的title部分插入该页面的此处.   2,:将被装饰页面的head部分插入该页面的此处.   3,:将被装饰页面的body部分插入该页面的此处.   2. 配置装饰器页面   下面在配置文件中配置该装饰器页面,配置用WEB-INF\decorators.xml文件,内容如下:    ?xml version=1.0 encoding=GBK? !-- defaultdir指定装饰器文件所在的路径 -- decorators defaultdir=/decorators !-- 指定main装饰器,该装饰器使用main.jsp页面 -- decorator name=main page=main.jsp !-- 使用main装饰器装饰所有的JSP页面 -- pattern*/pattern /decorator /decorators 3. 更复杂的装饰器页面   下面将在装饰器页面中使用其他装饰器,也就是装饰器页面中嵌套装饰器页面,通过这种方式可以提供更高程度的解耦.在装饰器页面中导入其他装饰器页面使用如下标签:   看如下的装饰器页面代码: %@ page contentType=text/html; charset=GBK% %@ taglib uri=/sitemesh/decorator prefix=decorator% %@ taglib uri=/sitemesh/page prefix=page% html head titledecorator:title default=SiteMesh的装饰器页//title link href=decorators/main.css rel=stylesheet type=text/css decorator:head/ /head body table width=100% height=100% tr td valign=top !-- 引入一个页面,临时指定所用的装饰器 -- page:applyDecorator page=/book.html name=panel / page:applyDecorator page=/link.html name=panel / /td td width=100% table width=100% heigh

您可能关注的文档

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档