简单介绍
SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的。
Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,如htm的内容,使得它的内容也符合你的页面结构的要求。甚至于它能将HTML文件象include那样将该文件作为一个面板的形式嵌入到别的文件中去。所有的这些,都是GOF的Decorator模式的最生动的实现。尽管它是由java语言来实现的,但它能与其他Web应用很好地集成。
官网下载:
idea配置使用
第一步:创建一个sitemesh项目,创建完成之后,导入sitemesh包(图中Problems有个1出错,点击)
进行Add添加
第二步:
现在进行配置web.xml文件
sitemesh com.opensymphony.sitemesh.webapp.SiteMeshFilter sitemesh /*
第三步:
在WEB-INF下创建一个名字为decorators.xml文件,里面进行配置
/jsp/*
第四步:
创建一个jsp文件进行做样式修饰(注意:必须引入<%@ taglib prefix="sitemesh" uri="http://www.opensymphony.com/sitemesh/decorator" %>)
<%@ taglib prefix="sitemesh" uri="http://www.opensymphony.com/sitemesh/decorator" %><%-- Created by IntelliJ IDEA. User: 邦杠 Date: 2018/8/22 Time: 12:36 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %> <%-- 在样式里面定义标题--%><sitemesh:title></sitemesh:title> 这里是sitemesh页面
再需要修饰的文件(最后放在一个文件夹进行全部修饰)
运行结果
简单案列:
<%@ taglib prefix="sitemesh" uri="http://www.opensymphony.com/sitemesh/decorator" %><%-- Created by IntelliJ IDEA. User: 邦杠 Date: 2018/8/20 Time: 21:14 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><sitemesh:title/> <%@include file="lay_css.jsp"%> <%@include file="lay_top.jsp"%><%@include file="lay_js.jsp"%><%@include file="lay_left.jsp"%> <%@include file="lay_body.jsp"%>
<%@ page import="com.wbg.bookstrop.util.DBUtil" %><%@ page import="java.util.Date" %><%-- Created by IntelliJ IDEA. User: 邦杠 Date: 2018/8/19 Time: 13:09 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>书籍信息
书名 | 作者 | 价钱 | 出版社 | 类型 | 操作 |
---|
总结:
在使用sitemesh之前,首先做好样式的jsp,然后直接进行使用即可
项目链接和sitemesh包github下载: