博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SiteMesh
阅读量:7071 次
发布时间:2019-06-28

本文共 2669 字,大约阅读时间需要 8 分钟。

SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的

工作原理编辑

SiteMesh是基于Servlet的filter的,即过滤流。它是通过截取response,并进行装饰后再交付给客户。
其中涉及到两个名词: 装饰页面(decorator page)和 “被装饰页面(Content page)” , 即 SiteMesh通过对Content Page的装饰,最终得到页面布局和外观一致的页面,并返回给客户
sitemesh运行环境需要:servlet, JDK 。

装饰页面(decorator page)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="sitemesh" uri="http://www.opensymphony.com/sitemesh/decorator" %>
xxx<sitemesh:title/>
<%@ include file="/WEB-INF/layouts/header.jsp" %>
<%@ include file="/WEB-INF/layouts/sidebar.jsp" %>
<%@ include file="/WEB-INF/layouts/footer.jsp" %>

被装饰页面(Content page)

测试页面
111
${username}
${rc.contextPath}
${(message)!}

classpath目录下decorator.xml

/*

web.xml配置 filter

siteMeshFilter
com.opensymphony.sitemesh.webapp.SiteMeshFilter
siteMeshFilter
/*

sitemesh 标签

引入标签

<%@ taglib prefix="sitemesh" uri="http://www.opensymphony.com/sitemesh/decorator" %>

我们看一下装饰模板中可以使用的Sitemesh标签

取出被装饰页面的head标签中的内容。

取出被装饰页面的body标签中的内容。

取出被装饰页面的title标签中的内容。default为默认值

取出被装饰页面相关标签的属性值。

decorator.xml命名

配置decorators.xml(必须有),sitemesh.xml(可选,但最好配置)

配置相关的XML文件。在你项目的/WebRoot/WEB-INF/目录下新建一个decorators.xml和一个sitemesh.xml的空的XML文件。在decorators.xml中这样配置:
/page/lesquare/specialties/special_java.jsp
/page/lesquare/specialties/special_.net.jsp
/*
在sitemesh.xml可以这样配置:

开发步骤

1、引入jar包

opensymphony
sitemesh
2.4.2

2、配置过滤器 web.xml

siteMeshFilter
com.opensymphony.sitemesh.webapp.SiteMeshFilter
siteMeshFilter
/*

3 、配置decorator.xml

4、写装修页

5、写被装修页

转载地址:http://jxell.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
java: command not found
查看>>
JavaScript继承方式详解
查看>>
烂泥:高负载均衡学习haproxy之安装与配置
查看>>
ASP.NET
查看>>
Java课程作业01
查看>>
php html 静态化 缓存
查看>>
Silverlight数据验证
查看>>
mysql中的锁
查看>>
Android的消息机制(1)
查看>>
Vue中v-for的数据分组
查看>>
ajax 无刷新下拉加载更多。
查看>>
linux运维人员常用的150个命令
查看>>
bzoj3068: 小白树
查看>>
常用算法Java实现之直接插入排序
查看>>
转载 radio值获取
查看>>
学习SpringMVC——你们要的REST风格的CRUD来了
查看>>
NLPIR数据语义挖掘技术为企业提供精准管理
查看>>
通过本地yum源安装软件报错[Errno 14] PYCURL ERROR 56 - "Failure when receiving data from the peer"...
查看>>
android常用调试工具fiddle、wireshark和android studio的配置
查看>>