sitemesh 使用整理(入门)
sitemesh是jsp页面的一个前端框架,其主要思想是GOF设计模式中的装饰器模式,在笔者看来就是提高代码的重用性,减少重复的代码,方面工程的管理。具体的还不清楚,写下这博文知识为了巩固和记录自己今天使用sitemesh的一些笔记。
使用sitemesh的步骤:
导入 sitemesh的jar包,该包可以在官网上下载最新的稳定版。目前最新是sitemesh-2.4.2.jar
配置sitemesh的核心过滤器,主要用来拦截需要被装饰的页面。
在工程的WEB-INF目录下面创建一个decorators.xml文件,里面主要使用来声明需要被拦截装饰的页面和不需要拦截的页面。
之后就可以创建具体的页面来进行测试了,要使用装饰器的页面需要写meta属性来说明。具体内容看以下代码。
(1)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>/*</url-pattern>
</filter-mapping>
(2)decorators.xml文件
<decorators defaultdir="/layouts">
<!-- 不需要过滤的请求 -->
<excludes>
<pattern>/static/*</pattern> <!-- 表示在static文件夹下的所有页面都不需要进行装饰 -->
</excludes>
<!-- 定义装饰器要过滤的页面 -->
<decorator name="default" page="default.jsp"> <!-- 表示对装饰器页面的声明 -->
<pattern>/*</pattern>
</decorator>
</decorators>
(3)default.jsp装饰器页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="sitemesh" uri="http://www.opensymphony.com/sitemesh/decorator"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- 被装饰页面head部分内容将会被放进这里 -->
<title>SiteMesh 示例-<sitemesh:title/></title>
<sitemesh:head/> <!-- 被装饰页面head部分内容将会被放进这里 -->
</head>
<body>
<h3>我是装饰器,我在被装饰页面的body内容之前</h3>
<div id="content">
<sitemesh:body/> <!-- 被装饰页面body内容将会被放进这里 -->
</div>
<h3>我是装饰器,对页面进行装饰</h3>
</body>
</html>
(4)index.jsp测试页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>我是index.jsp的title</title>
</head>
<body>
<h3>我是index的body</h3>
</body>
</html>
(5)执行画面
该画面在附件
转载于:https://blog.51cto.com/12063788/1856776
sitemesh 使用整理(入门)相关推荐
- chrome只能装在c盘吗_电脑硬盘使用与文件整理入门——逃离C盘?
在Windows 10伴随着SSD固态硬盘大范围铺开的背景下,曾经广泛传播的硬盘使用模式(C盘装系统,D盘装软件,E.F盘放各种文件)是否还有实践意义?我们该基于什么样的理念来养成一些良好习惯,从而安 ...
- 18000-6C整理-入门query/CRC-5
关于session 协议包括物理层和标签识别层 RFID标签使用常识整理 上面链接提到的 进制表述不准确,应该为下图: 一个字指16位 2字节 CW调制:等幅度连续波 RFID梳理 RFID知识点 C ...
- Linux驱动开发系列:整理入门Ubuntu知识
文章目录 Linux驱动开发 一.Linux驱动开发第一期:Ubuntu基础入门 1.Vmware虚拟机安装 2.Vmware内Ubuntu功能介绍 2.1 启动栏介绍 2.2 Ubuntu连接USB ...
- Windows10 常用快捷键整理 入门必备 打印版见附件
Windows10 快捷键 打印版链接 快捷键 指令 Ctrl + C 复制 Ctrl + V 粘贴 Ctrl + Z 撤销 Ctrl + A 全选 Ctrl + S 保存 Ctrl + X 剪切 C ...
- Nginx学习整理|入门记录
目录 1. Nginx概述 1.1 Nginx介绍 1.2 Nginx下载和安装 1.3 Nginx目录结构 2. Nginx命令 3. Nginx配置文件结构 4. Nginx具体应用 4.1 部 ...
- 大数据学习指南从入门到精通
目录 大数据学习指南从入门到精通 前言 一.大数据基础 二.大数据必学Java基础 三.ZooKeeper 四.大数据环境搭建 五.Hadoop 六.Hive 七.HBase 八.Kafka 九.Sc ...
- OSG入门_场景图形与OpenSceneGraph概述00
简单整理入门笔记,内容包括: 1.场景图形与OpenSceneGraph概述: 2.建立一个场景图形:内存管理.叶节点和组节点.渲染状态.文件I/O.NodeKit与osgText; 3.在程序中使用 ...
- 深度学习准「研究僧」预习资料:图灵奖得主Yann LeCun《深度学习(Pytorch)》春季课程...
视学算法报道 编辑:蛋酱 转载自公众号:机器之心 开学进入倒计时,深度学习方向的准「研究僧」们,你们准备好了吗? 转眼 2020 年已经过半,又一届深度学习方向的准研究生即将踏上「炼丹」之路.对于这一 ...
- 干货 | 一起聊聊技术与写作
作者简介 工业聚,携程高级前端开发专家,react-lite, react-imvc, farrow 等开源项目作者,多年文本创作经验. 今天我们来一起探讨一个有趣的话题,技术与写作.技术与写作的关系 ...
- 数据分析怎么学?我画了一个导图,又找到22本书
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 万战自称不提刃,生来双眼篾群容. ...
最新文章
- 阿里云云盾-智能风控(公测)发布
- LayIM.AspNetCore Middleware 开发日记(一)闲言碎语
- 【翻译】QEMU内部机制:顶层概览
- HDOJ 1202 The calculation of GPA
- CentOS 6.9下OpenLDAP 的安装与配置
- python发展前景怎么样-python发展前景怎么样
- Mybatis的动态创建删除表
- 将DevExpress.Utils.ImageCollection变量的image导出
- 字符串转换整形数,结构体数组排序
- iref streams_如何利用Neo4j Streams并建立即时数据仓库
- flask-01-http通信的回顾
- 计算机网络 第一章 计算机网络和因特网
- 远程服务器格式化,怎么远程服务器做ghost备份图解
- 用Python绘制条形图
- 测试软件要求规范 (SRS)
- 负折射率波导matlab,宁波大学教授—董建峰
- TI 评级报告 | RAI Finance:B,展望正面
- 使用openpose做的运动检测[附代码]
- fpga实操训练(从模块到系统开发)
- 线代 | 【提神醒脑】自用笔记串联三 —— 相似对角化 · 二次型 · 合同变换