Sitemesh Demo

简介

  • sitemesh是一个网页布局与装饰体系,主要应用于创建具有大量一致性用户界面、导航与布局框架的站点。
  • sitemesh拦截一切经过web server的静态或动态生成的HTML页面请求,处理页面内容,并将其与一个或多个装饰页面进行融合,生成最终页面。
  • sitemesh也可用于构建由多个部分小页面与布局组成的大型页面。
  • 可应用于基于java的web应用,也可用于离线内容。

这里写图片描述

JavaWeb应用sitemesh

1. 导入sitemesh.jar(下载sitemesh.jar)
2. 在web.xml中配置SiteMesh过滤器
<filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter> 
<filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
3. 编写装饰页面与基础页面

装饰页面:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title><decorator:title /></title>

</head>
<body>
    <h1>Header</h1>
    <p><b>Navigation</b></p>    
    <hr />
    <decorator:body />
    <hr />
    <h1>Footer</h1>
</body>
</html>

其中<decorator:title /><decorator:body />表示嵌入业务页面对应的内容(title与body)

业务页面:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Menu</title>
</head>
<body>
    <h1>Beverages</h1>
    <p>Cappucino $3.25</p>
    <p>Latte $3.35</p>
    <p>Espresso $2.00</p>
    <p>Mocha $3.50</p>
</body>
</html>
4. 配置SiteMesh装饰规则

在WEB-INF/下配置decorators.xml来声明需要对哪些页面使用哪些页面进行装饰,以及哪些页面不需要进行装饰。

<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/decorators">
    <excludes>
        <pattern>/data/menu*</pattern>
    </excludes>
    <decorator name="basic-theme" page="basic-theme.jsp">
        <pattern>/data/*</pattern>
    </decorator>
</decorators>

上述配置声明:

  • 装饰页面的默认路径defaultdir="/decorators"
  • 排除/data/下所有文件名以menu打头的文件,符合此规则的页面不受sitemesh影响
  • 装饰页面为<decorator name="basic-theme" page="basic-theme.jsp">
  • 装饰规则:对项目中所有/data/下的页面使用basic-theme.jsp进行装饰。

下载

  1. sitemesh官网:http://wiki.sitemesh.org/wiki/display/sitemesh/Home
  2. sitemesh.jar下载:http://download.csdn.net/detail/malingshuma/9559375
  3. sitemesh官方demo cafe.war下载:http://download.csdn.net/detail/malingshuma/9559376
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值