一、简介

  SiteMesh是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的。
  它能通过创建一个包装对象,也就是装饰来包裹的对象。尽管它是由Java语言来实现的,但是它能与其他Web应用很好的集成。

二、使用步骤

1、下载sitemesh jar包

jar包下载官网:http://wiki.sitemesh.org/wiki/display/sitemesh/Home

2、把sitemesh jar 导入项目中

创建decorators.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!-- defaultdir 是模板所在的文件夹路径 -->
<decorators defaultdir="/layouts"> <!-- 下面是过滤css和js文件,按实际情况写 -->
<excludes>
<pattern>/assets/*</pattern>
</excludes> <!-- /* 所有页面,按模板 phone_template.jsp 来修饰 -->
<decorator name="phone" page="phone_template.jsp">
<pattern>/*</pattern>
</decorator> </decorators>

web.xml文件配置

    <!-- 定义过滤器-->
<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>

模板(phone_template.jsp):

<%@ taglib prefix="sitemesh" uri="http://www.opensymphony.com/sitemesh/decorator" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!doctype html>
<html lang="en">
<head>
<!-- sitemesh:title 的作用是,将要修饰的页面的title引入 -->
<title><sitemesh:title/></title>
<!-- 不用在意下面的样式引入 -->
<link href="/js_css/css/bootstrap.css" rel="stylesheet">
<link href="/js_css/css/offcanvas.css" rel="stylesheet">
</head> <body class="bg-light"> <%@include file="phone_head_nva.jsp"%> <%@include file="phone_body_nva.jsp"%> <main role="main" class="container">
<!-- 这里会把要修饰的页面的body部分引入 -->
<sitemesh:body></sitemesh:body>
</main> <%@include file="phone_footer.jsp"%> </body>
</html>

总之,定义模板的作用是,让指定的网页用模板修饰,比如模板的上面有一个导航栏,则被模板修饰的网页都有导航栏。

sitemesh 使用方法的更多相关文章

  1. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  2. 关于sitemesh和freemark在struts2中的一些问题总结

    最近刚开始工作,首先让我在熟悉公司编程环境的前提下做一些简单的增删改查,在此总结一些这些天遇到的问题. 1,在刚开始建表的时候,我在oracle数据库中设置的主键id为四位的number类型,对应的实 ...

  3. Tiles & SiteMesh

    Tiles & SiteMesh 这两天在给公司的新项目搭框架,在配tiles框架的时候发现一个小问题:    比如开发团队一共5人,每人10个页面,如果按照简单的tiles框架配置方法,每个 ...

  4. sitemesh学习笔记(3)

    前两篇博客浅谈了一下sitemesh3.0和2.4的区别和简单用法,今天我做了一个结合sturts2的sitemesh构架,由于strusts2只能用sitemesh2.x的版本,与3.0目前还不能兼 ...

  5. SpringMVC+spring-security+sitemesh+hibernate+freemarker整合-转

    http://www.oschina.net/code/snippet_170632_46774 代码分享 当前位置: 代码分享 » Java  » Web编程 搜 索   SpringMVC+spr ...

  6. sitemesh使用步骤

    使用sitemesh的步骤 1. 添加jar文件到classpath 2. 在web.xml中增加过滤器 <!-- Sitemesh --> <filter> <filt ...

  7. SiteMesh学习入门

    http://www.java3z.com/cwbwebhome/article/article2/2962.html?id=1668 demo下载 简介:     sitemesh应用Decorat ...

  8. SiteMesh学习笔记

    SiteMesh是一个轻量级的web应用框架,实现了Decorator模式.它的目标是将多个页面都将引用的jsp页面通过配置加载到相应的jsp文件中. 在我们的项目中,每个jsp都需要添加两个top和 ...

  9. struts2 集成webservice 的方法

    由于项目需求的需要,要在原来用Struts2的框架之上集成webservice,因为之前单单做webservice的时候没有多大问题,使用 Spring 和 Xfire就可以轻松地发布服务,但是,当和 ...

随机推荐

  1. LGOJ1264 K-联赛

    这题其实不难想到 Description link 题意太长了,概括不来,去题库里扫一眼吧(但是很好懂) Solution \[Begin\] 考虑一个事情:每一个队伍的输局是没有用的 贪心一下,让每 ...

  2. 使用pycharm遇到问题排查过程

    一.安装Python 下载路径:https://www.python.org/downloads/ 二.配置环境变量 安装Python后,配置环境变量,将安装目录添加到Path中: 使用pycharm ...

  3. 1016D.Vasya And The Matrix#矩阵存在

    题目出处:http://codeforces.com/contest/1016/problem/D #include<iostream> #define ll long long int ...

  4. Tooltips2

    #include<windows.h> #include<Commctrl.h> #include"resource.h" #pragma comment( ...

  5. Python笔记_第一篇_面向过程_第一部分_9.Ubuntu基础操作

    第一部分   Ubuntu简介 Ubuntu(乌班图)是一个机遇Debian的以桌面应用为主的Linux操作系统,据说其名称来自非洲南部祖鲁语或科萨语的“Ubuntu”一词,意思是“人性”.“我的存在 ...

  6. HTTP协议解析小白文

    1. 什么是HTTP协议? HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本 ...

  7. java package 包 学习笔记

    编译命令示例: javac -d . Main.java 注:带参数-d自动建立文件目录, 只使用javac 则需要手工创建目录 把 class文件打包 jar命令 jar cvf T.jar *; ...

  8. 01 语言基础+高级:1-4 接口与多态_day10【接口、多态】&&day11【final、匿名内部类】

    day10[接口.多态] 接口三大特征——多态引用类型转换 教学目标写出定义接口的格式写出实现接口的格式说出接口中成员的特点能够说出使用多态的前提条件理解多态的向上转型理解多态的向下转型 day10_ ...

  9. JavaEE基础(01):Servlet实现方式,生命周期执行...

    一.Servlet简介Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容.使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库 ...

  10. android课程表控件、悬浮窗、Todo应用、MVP框架、Kotlin完整项目源码

    Android精选源码 Android游戏2048 MVP Kotlin项目(RxJava+Rerotfit+OkHttp+Glide) Android基于自定义Span的富文本编辑器 android ...