sitemesh入门教程


Sitemesh入门

Sitemesh是一种页面装饰技术:它通过过滤器(filter)来拦截页面访问,据被访问页面的URL找到合适的装饰模板等

一、基本概念

1.运行流程

PC访问请求 --> web过滤器拦截 -->根据访问页面url选择合适的模板 --> 提取被访问页面内容放在模板中指定的位置 -->响应给PC端

2.流程图

使用sitemesh后,页面分为两种类型,模板页面和普通页面,模板页面是用于修饰普通页面的。

二、配置与应用

1.在web.xml中配置过滤器和标签库




    sitemesh
    com.opensymphony.module.sitemesh.filter.PageFilter


    sitemesh
    /*

2.创建装饰模板配置文件,在web/目录下创建decorators.xml

<?xml version="1.0" encoding="UTF-8"?>

    
        /data/*
    

3.创建模板文件,在web/下创建decorators目录,创建一个模板文件 basic-theme.jsp

<?xml version="1.0" encoding="UTF-8" ?>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>



    <decorator:title />
    


Header

Navigation



Footer

  • 标签表示在此处放置响应页面内容的title标签内容
  • 标签表示在此处放置响应页面内容的body标签内容
  • 标签表示在此处放置响应页面内容的head标签内容

4.创建普通页面,在web/目录下创建data目录,在此目录创建menu.jsp

<?xml version="1.0" encoding="UTF-8" ?>



    Menu


Beverages

Cappucino $3.25

Latte $3.35

Espresso $2.00

Mocha $3.50

5.启动运行服务,查看menu.jsp页面是否有被修饰

扩展内容

exclude标签可以排除一些路径不被装饰模板修饰


    
        /data/*
    
    
        *hours.jsp
    

参考

https://www.jb51.net/web/70208.html

https://zhuanlan.zhihu.com/p/104202143

https://blog.csdn.net/weixin_36380516/article/details/74943229

官方文档

相关