下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SiteMesh使用什么是SiteMesh?SiteMesh是OpenSymphony下的一个项目,是基于PageFilter,Servlet过滤器的通用组件.SiteMesh为我们带来什么?我何可以想像一下,当我们的应用程序有大量的页面时候,为每个页面include我们各种各样的标签库,引入的js和css等样式,这将会成为重复性的工作,而且只要其中一个标签库进行了更新升级,所有页面的标签声明都需要重新更改,这项工作无疑是恐怖而且毫无技术含量的,SiteMesh就是为了帮助我们解决这个问题,把共有的标签例如js,css,struts-tags等重复性的声明抽象到一个页面当中,从而实现集中处理,
2、增加维护性和解除页面间的耦合.SiteMesh原理:SiteMesh应用了Decorator模式,用filter截取request和response,把页面组件head,content,banner结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header,stylesheet,scriptsandfooter,现在,在SiteMesh的帮助下,我何可以不再编写那些重复性的代码从而集中在一个地方进行管理.容器接收到页面请求时,会把请求传递给PageFilter,PageFilter收集应用程序的响应细节,生成自定义的响应对象,然后连同请求一起传递给we
3、b应用程序.web应用程序把响应资源写入到自定义响应对象里,再返回给PageFilter.SiteMesh使用:本事例使用基于Struts2来进行编写1. 首先在我们的项目当中添加Maven的依赖Xml代码<dependency><groupId>opensymphony</groupId><artifactId>sitemesh</artifactId><version>2.4.2</version>
4、;<type>jar</type><scope>compile</scope></dependency><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-sitemesh-plugin</artifactId><vers
5、ion>2.2.3</version><type>jar</type><scope>compile</scope></dependency>2. 在web.xml文件中增加如下配置Xml代码<filter><filter-name>sitemesh</filter-name><filter-class>c
6、om.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class></filter><filter-mapping><filter-name>sitemesh</filter-name><url-pattern>*.action</url-pattern><dispatcher>REQUEST</disp
7、atcher><dispatcher>FORWARD</dispatcher><dispatcher>INCLUDE</dispatcher></filter-mapping>3.在WEB-INF建立decorators.xml,该文件描述各个装饰器页面和如何过滤页面Xml代码<?xmlversion="1.0"encoding="UTF-8"?><!-defa
8、ultdir属性为通用页面存放的路径-><decoratorsdefaultdir="/WEB-INF/content/base"><!-excludes为哪些页面不需要进行装饰,这通常结合popup来使用-><excludes><pattern>*no-decorate*</pattern><pattern>/login*</pattern></exc
9、ludes><!-decorator为指定装饰页面的名称和路径-><decoratorname="main"page="main.jsp"><!-pattern为要过滤哪些页面?*代表所有页面都进行过滤-><pattern>*</pattern></decorator><decoratorname="printable"page="
10、printable.jsp"/></decorators>以下为main.jsp代码Html代码<!-当使用了SiteMesh后,本页面main.jsp就会变成所有页面的模板我们可以在这个页面中引入各种的css,js和其他的页面,亦可以在这里使用jsp的include标签引入其他的页面,更甚者可以在这里设定全局的js,例如jQuery的$.(document).ajaxStart(function()-><html><head><!-decora
11、tor:title可以将被过滤的页面的title填充到这里-><title><decorator:title/></title><!-decorator:head可以将被过滤的页面中的head填充到这里-><decorator:head/></head><body><divclass="content"><!-decorator:head可以将被过滤的页面中的body填充到这里-><decorator:body/></
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋股权转让协议书
- 房屋装修易合同范本
- 房屋贴地板合同范本
- 房屋车租赁合同范本
- 房屋重建改造协议书
- 房屋预定协议协议书
- 房租买卖协议书模板
- 房租改造分隔协议书
- 房间租赁置换协议书
- 手机代售协议书范本
- 2025年公司员工安全培训考试试题含完整答案(考点梳理)
- 财产申报表-被执行人用
- 应用抗菌药物防治外科感染的指导意见(草案)
- 军队文职人员(中医学)科目近年考试真题(200题)
- 血液科临床护理小讲课
- 2023年山东省德州市中考数学真题含解析
- 《头面部穴位按摩》课件
- 《流感与普通感冒的防治》课件
- 《医疗卫生机构医用气体系统安全管理规范》(T-SHWSHQ 10-2022)
- 冷库制冷系统安装施工方案
- 移动式升降平台安全指导手册
评论
0/150
提交评论