SiteMesh详解
来源:互联网 发布:面板数据分析什么 编辑:程序博客网 时间:2024/06/06 17:22
1.Sitemesh简介
Sitemesh是一个网络布局和修饰的框架,基于filter技术.
作用:利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的,减少重复代码的编写.(可能看到这儿不是很清楚,下面配几张图加以解释).
举个应用的场景: 点击下图上方的菜单.在浏览器的下方会显示出相应的界面.此时你会发现上面菜单栏的内容是一样的,而下面显示的内容则会根据你所点击的菜单发生变化.按照常规思路,你会写很多不同的jsp页面,然后根据菜单的点击而跳转到不同的页面.但这样写你会发现一个问题,代码大量冗余.针对这种现象,人们编写了sitemesh框架.在这种框架下,关于菜单栏的代码只要写一次就ok了,大幅度降低了代码量.
2.Sitemesh环境搭建
第一步:导入jar包(我当时的jar包版本是sitemesh-2.4.1.jar 不会导包的建议百度)
jar包下载地址:链接: https://pan.baidu.com/s/1pKKxl6z 密码: smw8
第二步:修改WEB-INF目录下的web.xml,添加一个filter.(上文中也提到过sitemesh框架就是基于filter). filter代码示例如下:
<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>
第三步:在WEB-INF下添加decorators.xml文件,进行一系列的配置.(也就是要修饰的是哪些页面以及修饰页面的位置和名称)
配置中一些参数的意义:
defaultdir="/decorators"表示修饰文件的位置
page="main.jsp"表示修饰文件名 /*表示修饰所有的页面
<?xml version="1.0" encoding="ISO-8859-1"?><decorators defaultdir="/decorators"> <decorator name="main" page="main.jsp"> <pattern>/*</pattern> </decorator></decorators>
第四步:既然要修饰页面,就要有修饰的模板.所以第四步的任务就是建立模板(也就是上文所说到的修饰文件).步骤三中已经说到修饰文件的位置名称问题.所以按照步骤三中的配置文件,将修饰文件创建出来.本文中,在WEB-INF下创建decorators文件夹,在文件夹里创建main.jsp.
此处要说明的一点,这些文件或文件夹的名称是可以改变的,前提是在 decorators.xml将参数配置好,具体参考步骤三.
main.jsp的具体实现在这里就不给出了.大家可以依靠自己的需求进行编辑.
3.Sitemesh原理
在这里简单的介绍一下原理吧,并不深入探讨.(并没有啥意义)
首先请求被Sitemesh的filter拦截,并把数据包装成一个page对象,接着去查询decorator.xml文件,如果判断出该请求的页面为所修饰的页面,则应用装饰器,如果不是的话,则发送的是没经过修饰的页面.......
emmmm........................
阅读全文
1 0
- SiteMesh详解
- sitemesh
- SiteMesh
- Sitemesh
- Sitemesh
- SiteMesh
- sitemesh
- sitemesh
- sitemesh
- sitemesh
- sitemesh
- sitemesh
- sitemesh
- SiteMesh
- SiteMesh
- sitemesh
- SiteMesh
- SiteMesh
- HTML中href、src区别
- Oracle wait event --- enq: HW
- 解决Hash碰撞冲突方法总结
- 查看当前使用的shell
- HDU 1401 双向BFS !!!
- SiteMesh详解
- 为什么要接口测试?
- Servlet是否是线程安全的
- ZOJ 3981 && 2017CCPC秦皇岛 A:Balloon Robot
- java 小技巧
- TensorFlow学习--TensorBoard神经网络可视化
- 数字推断
- CSS中可以和不可以继承的属性
- java 编程思想 笔记