SiteMesh的简单使用
简介:
下载SiteMesh:
官方下载地址:http://wiki.sitemesh.org/wiki/display/sitemesh/Home


使用:
我们这里使用IDEA进行演示
导入SiteMesh jar包

在web文件中的WEB_INF中创建lib文件夹 再把SiteMesh jar包放入 lib中。
在 web.xml 中配置 Filter(过滤器)
<!--定义过滤器-->
<filter>
<!--定义过滤器的实现类-->
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>
<!--定义过滤器拦截URL地址-->
<filter-mapping>
<!--过滤器的名称-->
<filter-name>sitemesh</filter-name>
<!--过滤器负责拦截的URL-->
<!-- /* 会把所有的请求拦截下来 -->
<url-pattern>/*</url-pattern>
</filter-mapping>

再创建一个decorators.xml文件

<?xml version="1.0" encoding="utf-8" ?> <decorators defaultdir="/layout/">
<!-- 先定义不过滤的页面,即排除页面 -->
<excludes>
<pattern>/assets/*</pattern>
</excludes> <!-- 定义需要修饰的页面 -->
<decorator name="book" page="book_tpl.jsp">
<pattern>/book/*</pattern>
</decorator> <decorator name="cart" page="cart_tpl.jsp">
<pattern>/cart/*</pattern>
</decorator> </decorators>

之后,创建模板文件 /layouts/book_tpl.jsp
<!doctype html>
<html lang="en">
<head>
<title><sitemesh:title /></title>
<sitemesh:head />
</head>
<body>
<header>
<%@include file="book_header.jsp" />
</header> <div>
<sitemesh:body />
</div> <footer>
<%@include file="book_footer.jsp" />
</footer> <!-- 其他用法 --> <!-- 可以通过 meta 在页面之间传递数据 -->
<!-- <meta name='xxx' content='ksjfkjskf' -->
<decorator:getProperty property="meta.xxx" /> <!-- 可以通过 usePage 引用到原始页面的 jsp 对象 -->
<decorator:usePage id="myPage" />
<%= myPage.getRequest().getAttribute("xxx") %> <!-- 其他,自行总结 -->
</body>
</html>
就可以使用了
可以去下载完整的Demo 地址:https://github.com/oukele/StieMeshDemo
SiteMesh的简单使用的更多相关文章
- SiteMesh学习入门
http://www.java3z.com/cwbwebhome/article/article2/2962.html?id=1668 demo下载 简介: sitemesh应用Decorat ...
- [页面模板框架对比] Apache Tiles VS Sitemesh
1. 原理对比 (1) Apache Tiles 顾名思义,Tile是瓷砖的意思,也就是说一个网页是由多个Tile组成的. 用户通过访问一个页面的Apache Tiles定义名,就可以访问一个由定义文 ...
- sitemesh入门
今天在公司用到了sitemesh这个框架. 网上的资料已经有很多了. 在此就不做具体介绍了, 仅仅做个笔记. sitemesh是一种模板框架,是为了解决页面重复代码而设计的. 设计思想 siteme ...
- 转:SiteMesh简介
OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件,能够帮助网站开发人员较容易实现页面中动态内容和静态装饰 ...
- 转-decorators.xml的用法-http://blog.csdn.net/gavinloo/article/details/7458062
今天改前人做的项目,用struts2,spring,hibernate框架做的,对了,还有jQuery.我用jquery做异步请求到后台,生成json数据返回前台生成下拉输入框,请求到后台以后,成功生 ...
- decorators.xml的用法 (转)
spring,hibernate框架做的,对了,还有jQuery. 我用jquery做异步请求到后台,生成json数据返回前台生成下拉输入框,请求到后台以后,成功生成了json数据并根据struts的 ...
- decorators.xml的用法
spring,hibernate框架做的,对了,还有jQuery.我用jquery做异步请求到后台,生成json数据返回前台生成下拉输入框,请求到后台以后,成功生成了json数据并根据struts的映 ...
- 使用Spring Mvc 转发 带着模板 父页面 之解决方法 decorators.xml
周末了,周一布置的任务还没完毕,卡在了页面跳转上,接手了一个半截的项目要进行开发,之前没有人给培训.全靠自己爬代码,所以进度比較慢.并且加上之前没实用过 Spring Mvc 开发项目.所以有点吃力, ...
- SiteMesh配置下载使用(简单介绍)
简单介绍 SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的. Sitemesh是由一个基于Web页面布局.装饰以及与现存Web应用整合的框架 ...
随机推荐
- ZOJ Problem Set - 1008
1.翻译及思路 http://blog.csdn.net/dapengbusi/article/details/7313785 http://acm.sdut.edu.cn/bbs/read.php? ...
- Apache配置同一IP使用多域名对应多个网站
CentOS下的Apache的配置是/etc/httpd/conf/httpd.conf vi /etc/httpd/conf/httpd.conf 添加 <VirtualHost *:80&g ...
- STL stack 常见用法详解
<算法笔记>学习笔记 stack 常见用法详解 stack翻译为栈,是STL中实现的一个后进先出的容器.' 1.stack的定义 //要使用stack,应先添加头文件#include &l ...
- laravel-admin关联查询问题解决办法
文档是这么说的: 按照文档上来,没有成功,网上找了好久,说是没有在模型中关联,关联之后的运行结果是这样的: 还是没有成功啊,仔细研究返现是这里写错了,whereHas后面跟的是model中的方法名,而 ...
- Ruby Rails学习中:Ruby内置的辅助方法,基础内容回顾补充
一. Ruby内置的辅助方法 1.打开文件:app/views/layouts/application.html.erb(演示应用的网站布局) 来咱把注意力放在圈起来的那一行: 这行代码使用 Rail ...
- [转载]为什么用Java开发桌面程序的比较少
这个是本人这几天用javafx开发桌面程序时候想到的,因为虽然javafx比C#之类的确实坑多不少,但是习惯了之后也还行,而且它的一次编译.各处使用真的深得我心.但为什么不流行呢: 作者:bell 来 ...
- XVS 操作
1. xvs安装 rpm -i ***.rpm 2.获取license root@ubuntu:/usr/local/xvs# ./xvs -L .Host ID: 16b3d720584704 ...
- LintCode 547---两数组的交集
public class Solution { /** * 给出两个数组,写出一个方法求出它们的交集 * @param nums1: an integer array * @param nums2: ...
- html和css制作百度界面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- UE中正则表达式
UltraEdit(后简称UE),是我经常使用的文本编辑软件,其功能的强大,令我由衷地爱上了它.每天不用就全身不爽.从最开始的9.0到现在的 12.10a(本人只用到这个版本),UE都是系统重装后必安 ...