SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的。Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权等等。它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,如htm的内容,使得它的内容也符合你的页面结构的要求。甚至于它能将HTML文件像include那样将该文件作为一个面板的形式嵌入到别的文件中去。所有的这些都是GOF的Decorator模式的最生动的实现。尽管它是由java语言来实现的,但它能与其他Web应用很好地集成。
第一步,导入SiteMesh的jar包
第二步,在web.xml中配置sitemesh
<!-- 配置sitemesh --> <filter> <filter-name>sitemesh</filter-name> <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class> </filter> <filter-mapping> <filter-name>sitemesh</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
第三步,添加一公用页面/jsp/base.jsp
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <link rel="stylesheet" type="text/css" href="<%=request.getContextPath() %>/resources/css/main.css"> <title>用户信息</title> <script type="text/javascript"> function doBackUserList(obj, form){ if(obj == "addUser" || obj == "showUser"){ form.action = "./userList"; }else if(obj == "updateUser"){ form.action = "../userList"; } form.submit(); } </script> </head> <body> 用户信息 <hr/> <decorator:body></decorator:body> </body> </html>
其中,doBackUserList方法可以在用户新增、用户修改、展示用户信息页面调用,把静态资源/resources/css/main.css的引用从用户列表页面移到该页面中。
第四步,Sitemesh配置文件/WEB-INF/decorators.xml
<?xml version="1.0" encoding="UTF-8"?> <decorators defaultdir="/jsp/"> <excludes> <pattern>/json*</pattern> </excludes> <decorator name="main" page="base.jsp"> <pattern>/*</pattern> </decorator> </decorators>
相关推荐
springmvc + mybatis + sitemesh3 超简洁例子 整合springmvc mybatis 方法请看: http://blog.csdn.net/kokoyuo/article/details/52808510
SpringMVC-Freemarker_Sitemesh3例子, maven构建。
springMVC spring mybatis rest风格架构 根据请求的后缀名 解析成json 或者 xml格式的数据
SSM笔记-SpringMVC REST风格初识、RequestMapping/PathVariable/RequestParam/RequestHeader/CookieValue基本使用方法
springmvc中rest风格的增删改查,适合初学者参考
springMVC与sitemesh的结合,
SpringMVC构建REST接口的源代码
springmvc + mybatis + sitemesh3登陆 超简洁例子mysql 增加了MD5验证
SpringMVC构建REST接口:第四篇 第一个REST风格的接口的源代码
REST风格简介 2、RESTful入门案例 入门案例 请求方法设定 请求路径参数 3、REST快速开发 RESTful快速开发(标准开发) @RestController 标准请求动作映射(4种) 4、案例:基于RESTful页面数据交互 5、SSM整合 ...
springmvc + mybatis + sitemesh3 简洁例子 springmvc + mybatis 整合过程: http://blog.csdn.net/kokoyuo/article/details/52808510
springmvc的rest风格的增删改查,适合springmvc的新手
SpringMVC RESTFUL风格的写法,以及与非RESTFUL的区别
主要介绍了springmvc Rest风格介绍及实现代码示例,rest风格简洁,分享了HiddenHttpMethodFilter 的源码,通过Spring4.0实现rest风格源码及简单错误分析,具有一定参考价值,需要的朋友可以了解下。
本人在前辈《从MVC到前后端分离(REST-个人也认为是目前比较流行和比较好的方式)》一文的基础上,实现了一个基于Spring的符合REST风格的完整Demo,具有MVC分层结构并实现前后端分离,该项目体现了一个具有REST风格...
使用rest风格整合了 activiti 5.20 spring 4.15 mybatis 3.3.0 是初学者入门的好素材
一个基于SpringMVC的REST用法例子,利用jquery提交REST请求并以JSON格式返回等,完整的依赖包,可以直接运行。
springmvc+mybatis+ehcache+jsp+sitemesh完美运行
采用springMVC倒灶的纯rest风格的医院管理系统,利用springMVC的自动注入功能,和最新的mvc:resource标签,可以访问静态资源。值得借鉴。利用maven的构建也更加便于管理jar包,最后是采用了resin 3.1的服务器,有别...