sitemesh 使用方法
一、简介
二、使用步骤
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 使用方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- 关于sitemesh和freemark在struts2中的一些问题总结
最近刚开始工作,首先让我在熟悉公司编程环境的前提下做一些简单的增删改查,在此总结一些这些天遇到的问题. 1,在刚开始建表的时候,我在oracle数据库中设置的主键id为四位的number类型,对应的实 ...
- Tiles & SiteMesh
Tiles & SiteMesh 这两天在给公司的新项目搭框架,在配tiles框架的时候发现一个小问题: 比如开发团队一共5人,每人10个页面,如果按照简单的tiles框架配置方法,每个 ...
- sitemesh学习笔记(3)
前两篇博客浅谈了一下sitemesh3.0和2.4的区别和简单用法,今天我做了一个结合sturts2的sitemesh构架,由于strusts2只能用sitemesh2.x的版本,与3.0目前还不能兼 ...
- SpringMVC+spring-security+sitemesh+hibernate+freemarker整合-转
http://www.oschina.net/code/snippet_170632_46774 代码分享 当前位置: 代码分享 » Java » Web编程 搜 索 SpringMVC+spr ...
- sitemesh使用步骤
使用sitemesh的步骤 1. 添加jar文件到classpath 2. 在web.xml中增加过滤器 <!-- Sitemesh --> <filter> <filt ...
- SiteMesh学习入门
http://www.java3z.com/cwbwebhome/article/article2/2962.html?id=1668 demo下载 简介: sitemesh应用Decorat ...
- SiteMesh学习笔记
SiteMesh是一个轻量级的web应用框架,实现了Decorator模式.它的目标是将多个页面都将引用的jsp页面通过配置加载到相应的jsp文件中. 在我们的项目中,每个jsp都需要添加两个top和 ...
- struts2 集成webservice 的方法
由于项目需求的需要,要在原来用Struts2的框架之上集成webservice,因为之前单单做webservice的时候没有多大问题,使用 Spring 和 Xfire就可以轻松地发布服务,但是,当和 ...
随机推荐
- IntelliJ IDEA 2019.2 LUA环境搭建说明
1.搭建GCC 添加系统环境变量PATH 为C:\MinGW\bin目录 测试命令进入CMD gcc -v 2.编译LUA cd到lua/src目录 mingw32-make min ...
- 解决IntelliJ IDEA Community 社区版 启动Tomcat插件 "Smart Tomcat" NullPointerException 空指针异常
IntelliJ IDEA Community社区版默认是没有Ultimate版的Tomcat Server,这时候就可以使用插件"Smart Tomcat"; 在"Ru ...
- Redis哨兵、复制、集群的设计原理,以及区别
广西SEO:谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. **哨兵(Sentinel):**可以管理多个Redis服务器,它提供了监控,提醒以及自 ...
- socker通信-struct模块-粘包问题
Socket概念 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对 ...
- 记录ionic 最小化应用时所遇的问题
ionic3与ionic4最小化插件安装不一样: ionic3安装方法: $ ionic cordova plugin add cordova-plugin-appminimize $ npm ins ...
- SEERC 2018 Inversion
题意: 如果p数组中 下标i<j且pi>pj 那么点i j之间存在一条边 现在已经知道边,然后求p数组 在一张图中,求有多少个点集,使得这个点集里面的任意两点没有边 不在点集里面的点至少有 ...
- Mybatis的generator自动生成代码
mybatis-generator有三种用法:命令行.ide插件.maven插件.本次使用maven生成 环境:IDEA,mysql8,maven (1):新建项目,本次以SpringBoot项目为例 ...
- QLIKVIEW基础设置及初步了解
改变语言环境 开发工具条勾选出来 创建selection box 创建search box 编辑脚本 重加载数据 基本联动思路:table view tableview load FSUPPLIERI ...
- Qt uchar * 转 QImage
QImage(uchar * data, int width, int height, Format format) QImage(const uchar * data, int width, int ...
- django框架进阶-cookie和session-长期维护
############### python基础回顾:装饰器 ################ # 装饰器非常重要,1是写代码的时候,2是面试的时候,没有python开发不问装饰器的, # ...