sitemesh学习
步骤一:
导入jar包
步骤二:
web.xml中配置过滤器
<filter><filter-name>sitemeshFilter</filter-name><filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class></filter><filter-mapping><filter-name>sitemeshFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
步骤三:
再默认位置/WEB-INF下创建decorator.xml文件(PS:此处为默认位置,也可更改为其他位置)
decorators.xml:
<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/WEB-INF/views"><!-- 默认装饰页面, 在需要装饰的页面增加<meta name="decorator" content="default"/> --><decorator name="default" page="layouts/default.jsp" /><decorator name="default_mb" page="mobile/layouts/default.jsp" /></decorators>
默认装饰页面, 在需要装饰的页面增加,那么该页面就会加载到/WEB-INF/views/layouts/default.jsp页面的内容,我们的项目中(貌似是jeesite这个框架中本来就是这样设置的)这个default.jsp中又加进了其他的页面:taglib.jsp、head.jsp
default.jsp:
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<%@ taglib prefix="sitemesh" uri="http://www.opensymphony.com/sitemesh/decorator" %>
<!DOCTYPE html>
<html style="overflow-x:hidden;overflow-y:auto;"><head><title><sitemesh:title/> - Powered By JeeSite</title><%@include file="/WEB-INF/views/include/head.jsp" %><sitemesh:head/></head><body><sitemesh:body/></body>
</html>
taglib.jsp:
<%@ taglib prefix="shiro" uri="/WEB-INF/tlds/shiros.tld" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>
<%@ taglib prefix="fnc" uri="/WEB-INF/tlds/fnc.tld" %>
<%@ taglib prefix="fnb" uri="/WEB-INF/tlds/fnb.tld" %>
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
<c:set var="ctx" value="${pageContext.request.contextPath}${fns:getAdminPath()}"/>
<c:set var="ctxStatic" value="${pageContext.request.contextPath}/static"/>
<c:set var="ctxCss" value="${pageContext.request.contextPath}/css"/>
<c:set var="ctxJs" value="${pageContext.request.contextPath}/js"/>
<c:set var="usesysout" value="0"/>
head.jsp:
<%@ page contentType="text/html;charset=UTF-8" %><meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="Cache-Control" content="no-store" /><meta http-equiv="Pragma" content="no-cache" /><meta http-equiv="Expires" content="0" />
<meta name="author" content="http://thinkgem.iteye.com"/><meta http-equiv="X-UA-Compatible" content="IE=7,IE=9,IE=10" />
<script src="${ctxStatic}/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="${ctxStatic}/jquery/jquery-migrate-1.1.1.min.js" type="text/javascript"></script>
<link href="${ctxStatic}/jquery-validation/1.11.1/jquery.validate.min.css" type="text/css" rel="stylesheet" />
<script src="${ctxStatic}/jquery-validation/1.11.1/jquery.validate.min.js" type="text/javascript"></script>
<script src="${ctxStatic}/jquery-validation/1.11.1/jquery.validate.method.min.js" type="text/javascript"></script>
<link href="${ctxStatic}/bootstrap/2.3.1/css_${not empty cookie.theme.value ? cookie.theme.value:'default'}/bootstrap.min.css" type="text/css" rel="stylesheet" />
<script src="${ctxStatic}/bootstrap/2.3.1/js/bootstrap.min.js" type="text/javascript"></script>
<!--[if lte IE 6]><link href="${ctxStatic}/bootstrap/bsie/css/bootstrap-ie6.min.css" type="text/css" rel="stylesheet" />
<script src="${ctxStatic}/bootstrap/bsie/js/bootstrap-ie.min.js" type="text/javascript"></script><![endif]-->
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]> <script src="${ctxStatic}/common/html5.js"></script><![endif]-->
<script src="${ctxStatic}/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<script src="${ctxStatic}/common/mustache.min.js" type="text/javascript"></script>
<script src="${ctxStatic}/list/list.min.js" type="text/javascript"></script>
<script src="${ctxStatic}/select2/select2.js" type="text/javascript"></script>
<script src="${ctxStatic}/select2/select2_locale_zh-CN.js" type="text/javascript"></script>
<link href="${ctxStatic}/select2/select2.css" type="text/css" rel="stylesheet" />
<link href="${ctxStatic}/x-editable/css/bootstrap-editable.css" type="text/css" rel="stylesheet" />
<script src="${ctxStatic}/x-editable/js/bootstrap-editable.js" type="text/javascript"></script>
<link href="${ctxStatic}/fancyBox/source/jquery.fancybox.css" type="text/css" rel="stylesheet" />
<script src="${ctxStatic}/fancyBox/source/jquery.fancybox.js" type="text/javascript"></script>
<link href="${ctxStatic}/common/jeesite.min.css" type="text/css" rel="stylesheet" />
<script src="${ctxStatic}/common/jeesite.min.js" type="text/javascript"></script>
<link rel="shortcut icon" href="${ctxStatic}/favicon.ico">
(PS:我们项目用的是jeesite框架,很多都是遵循该框架默认配置和相关文件)
可参考链接:
http://haiker.iteye.com/blog/664075
sitemesh学习相关推荐
- SiteMesh学习入门
http://www.java3z.com/cwbwebhome/article/article2/2962.html?id=1668 demo下载 简介: sitemesh应用Decorat ...
- Spring MVC学习笔记——SiteMesh的使用(转)
转自 SiteMesh的使用 SiteMesh的介绍就不多说了,主要是用来统一页面风格,减少重复编码的. 它定义了一个过滤器,然后把页面都加上统一的头部和底部. 需要先在WEB-INF/lib下引入s ...
- SiteMesh 2学习(1):入门简介和简单实例
SiteMesh简介 * 资料参考: SIteMesh官方地址:http://www.opensymphony.com/sitemesh/ SIteMesh下载地址:http://java.ne ...
- Struts2学习总结一
Struts2框架的struts.xml详解 Struts总结一 Struts的jar Struts2的简介 Struts2的工作原理 4.Struts2的优点 5.Struts2的第一个案例 5.1 ...
- 快速学习使用springmvc、strust2、strust1以及它们的对比
1.如何快速学习springmvc 首先,我们需要在复制spring相关的jar包到web-inf/lib里面去,然后在web.xml里面加入以下代码,相当于springmvc里面的servlet,这 ...
- springboot 技术图谱_java后台(Springboot)开发知识图谱高频技术汇总-学习路线...
[原创]java后台(Springboot)开发知识图谱&&高频技术汇总 1.引言: 学习一个新的技术时,其实不在于跟着某个教程敲出了几行.几百行代码,这样你最多只能知其然而不知其所以 ...
- jeesite框架学习
写在前面 如果你没有能力自己独立写一套框架,那就放下你的架子,认真去学习看看别人是怎么设计框架的. jeesite简要 首先jeesite是开源,遵守 Apache License 2.0协议: 需要 ...
- Android 8.0学习(32)---Android 8.0源码目录结构详解
Android 8.0源码目录结构详解 android的移植按如下流程: (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来. (2)正确挂载文件系统 ...
- 学习的榜样,进步的力量(来自中国人才热线的简历)
今天在中国人才热线用公司招聘帐户搜索到一些高级技术人员与管理人员的简历,找到一些可以学习的简历,从中深受感动,前人走过的路有值很多借鉴的地方,这些高级人员开始也是从基层做起,积累经验,在工作的过程中不 ...
- 【框架学习】Struts2(一)工作原理
众所周知Struts2是MVC模式在web开发中经典的框架之一,学习web开发,这也是一个必经过之路吧,实在不行也得瞅瞅,万一哪天用到了. 技术优势: Struts2有两方面的技术优势,一是所有的St ...
最新文章
- Mongodb的索引操作
- 【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 关键帧数据格式 | 非关键帧数据格式 | x264 编码后的数据处理 | 封装 H.264 视频数据帧 )
- UA MATH571B 试验设计 总结 试验的类型与选择
- 成功解决利用pandas的read_csv函数读取csv文件的时候出现中文乱码问题
- things to be done
- 快速打开unity manual的方式
- 实现cookie跨域
- RabbitMQ(五):Exchange交换器--topic
- Robo 3T SQL
- 【Nginx】Nginx配置文件参数/启动参数详解;启动/停止/重新加载配置命令
- java多线程正在旋转的_一个正在高速旋转的巨大黑洞:速度竟达到光速的一半!...
- 讲解Java中的String几种类型
- matlab中if语句中的结果返回,matlab中if 语句后面的判别式不能是算术表达式?或者说变量?...
- boss网人脸识别认证_在手机上怎样进行社保人脸识别认证
- 【源码】6个超炫酷的HTML5电子书翻页动画
- cyusb3014上位机同步传输与异步传输的实现
- git diff with meld,git diff结合meld
- 【个人感悟】谈谈算法工程师毕业一年的感悟
- ubuntu linux 环境下的程序打包
- RGB三分量与饱和度
热门文章
- Ps调色磨皮降噪抠图胶片特效模拟常用100款滤镜合集一键安装支持PSCC2015-2019win64
- 从零开始学USB(三、基础知识3)
- android qq第三方登录 实现,Android Studio实现第三方QQ登录操作代码
- 超赞!终于有网友用Java实现了第三方qq账号登录...
- 蓝绿色——三色配色篇
- 数字图像处理:名词解释
- 非参数分析-符号秩和检验法
- 软考软件设计师中级考试免费视频教程汇总
- 国家计算机考试一级难不难,国家计算机一级考试难不难?
- IOS设备之armv6,armv7,armv7s,arm64