SiteMesh学习总结(1)

SiteMesh概述

SiteMesh是opensymphony团队开发的j2ee应用框架之一,旨在提高页面的可维护性和复用性。SiteMesh应用Decorator模式,用filter截取request和response,把页面组件head,content,banner结合为一个完整的视图。在sitemesh中,页面分为两种:

1)       装饰模板:用于修饰其它页面的页面

2)       普通页面:一般指各种应用页面

SiteMesh一般处理流程如下:

1)       它通过过滤器(filter)来拦截页面访问

2)       根据被访问页面的URL找到合适的装饰模板

3)       提取被访问页面的内容,放到装饰模板中合适的位置

4)       最终将装饰后的页面发送给客户端

 SiteMesh的运用

1)       SiteMesh依赖的jar包:sitemesh-2.4.1.jar;

2)       配置web.xml文件加入SiteMesh过滤器:

    <filter>

      <filter-name>sitemesh</filter-name>

      <filter-class>

         com.opensymphony.module.sitemesh.filter.PageFilter

      </filter-class>

   </filter>

   <filter-mapping>

      <filter-name>sitemesh</filter-name>

      <url-pattern>/mail/*</url-pattern>

   </filter-mapping>  

3)       配置decorators.xml文件,描述装饰器和被装饰请求页面等:


4)   编写装饰器页面:mailframe.jsp (模版文件,被所有被修饰页面共享)

<%@ page contentType="text/html;charset=GBK"%>

......省略代码......

<%--装饰器标签定义--%>

<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator"

   prefix="decorator"%>

......省略代码......

<htmlxmlns="http://www.w3.org/1999/xhtml" xml:lang="zh"lang="zh">

<head>

......省略代码......

<%--装饰器标签:替换成被装饰页面的title内容,如果没有取default的属性值--%>

<title><decorator:title default="邮件系统" /></title>

......省略代码......

<%--装饰器标签:替换成被装饰页面的head内容--%>

<decorator:head />

</head>

<body>

......省略代码......

<%--装饰器标签:替换成被装饰页面的body内容--%>

      <tdclass="rightbox"><decorator:body/></td>

   </tr>

</table>

......省略代码......

</body>

</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值