一、Sitemesh简介

  Sitemesh是由一个基于Web页面布局、装饰及与现存Web应用整合的框架,是一个装饰器。它能帮助我们在由大量页面工程的项目中创建一致的页面布局和外观,如一致的导航条、一致的banner、一致的版权等。

  SiteMesh是基于Servlet的filter的,它通过截取response,并进行装饰后再交付给客户端。

  二、spring boot 集成 sitemesh

  集成要做的工作很简单:

  1、引入sitemesh.jar包

  2、添加一个配置类及过滤器类

  3、新增一个装饰器页面

  2.1、引入sitemesh.jar包

  在maven的pom文件中引入:

  org.sitemesh

  sitemesh

  3.0.1

  2.2、配置类及过滤器类

  配置类如下:

  import org.springframework.boot.web.servlet.FilterRegistrationBean;

  import org.springframework.context.annotation.Bean;

  import org.springframework.context.annotation.Configuration;

  import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

  //生效配置,使之就像传统项目里sping的xml配置文件一样

  @Configuration

  public class WebConfig extends WebMvcConfigurerAdapter{

  //注册成bean,就像传统项目spring配置文件中的标签

  @Bean

  public FilterRegistrationBean siteMeshFilter(){

  FilterRegistrationBean fitler = new FilterRegistrationBean();

  //实例化一个过滤器类

  WebSiteMeshFilter siteMeshFilter = new WebSiteMeshFilter();

  fitler.setFilter(siteMeshFilter);

  return fitler;

  }

  }

  过滤器类如下:无锡做人流手术多少钱 http://www.120wtrlyy.com/

  import org.sitemesh.builder.SiteMeshFilterBuilder;

  import org.sitemesh.config.ConfigurableSiteMeshFilter;

  public class WebSiteMeshFilter extends ConfigurableSiteMeshFilter{

  @Override

  protected void applyCustomConfiguration(SiteMeshFilterBuilder builder) {

  //除了/admin/index和/admin/login页面外,其他所有/admin/下的页面都被/admin/index页面所装饰

  builder.addDecoratorPath("/admin/*", "/admin/index")

  .addExcludedPath("/admin/index")

  .addExcludedPath("/admin/login");

  }

  }

  2.3、装饰器页面

  装饰器页面就是模板页面,过滤器规则中定义的页面都会被该页面所装饰。

  ...

  有了上面的装饰器页面,当我们访问被装饰的页面比如/admin/test,展现的内容是装饰器页面+被装饰页面的body元素内的内容,处会被替换为被装饰页面的body元素内的内容。假设,test页面如下:

  我是test

  最终得到的页面是:

  ...

  我是test

spring boot 集成 sitemesh的更多相关文章

  1. Spring Boot集成Jasypt安全框架

    Jasypt安全框架提供了Spring的集成,主要是实现 PlaceholderConfigurerSupport类或者其子类. 在Sring 3.1之后,则推荐使用PropertySourcesPl ...

  2. Spring boot集成swagger2

    一.Swagger2是什么? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格 ...

  3. Spring Boot 集成 Swagger,生成接口文档就这么简单!

    之前的文章介绍了<推荐一款接口 API 设计神器!>,今天栈长给大家介绍下如何与优秀的 Spring Boot 框架进行集成,简直不能太简单. 你所需具备的基础 告诉你,Spring Bo ...

  4. spring boot 集成 zookeeper 搭建微服务架构

    PRC原理 RPC 远程过程调用(Remote Procedure Call) 一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远程系统资源,R ...

  5. Spring Boot 集成Swagger

    Spring Boot 集成Swagger - 小单的博客专栏 - CSDN博客https://blog.csdn.net/catoop/article/details/50668896 Spring ...

  6. spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,guava限流,定时任务案例, 发邮件

    本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...

  7. Spring boot入门(二):Spring boot集成MySql,Mybatis和PageHelper插件

    上一篇文章,写了如何搭建一个简单的Spring boot项目,本篇是接着上一篇文章写得:Spring boot入门:快速搭建Spring boot项目(一),主要是spring boot集成mybat ...

  8. (转)Spring Boot(十八):使用 Spring Boot 集成 FastDFS

    http://www.ityouknow.com/springboot/2018/01/16/spring-boot-fastdfs.html 上篇文章介绍了如何使用 Spring Boot 上传文件 ...

  9. Spring Boot集成JPA的Column注解命名字段无效的问题

    偶然发现,Spring Boot集成jpa编写实体类的时候,默认使用的命名策略是下划线分隔的字段命名. Spring Boot版本:1.5.4.release 数据表: id int, userNam ...

随机推荐

  1. Keras split train test set when using ImageDataGenerator

    Keras split train test set when using ImageDataGenerator I have a single directory which contains su ...

  2. Swift5升级遇到的AVCapturexxxDelegate的坑,写法换了

    升级到swift5之后,遇到关于AVCapture的两个代理都失效了, 找了一圈,发现原因是代理方法写法变了,如果不替换,代理事件就收不到了 解决方法: 替换新写法就可以了 我这边只举例我遇到的两个例 ...

  3. Navicat连接MySQL8.0出现1251-Client does not support authentication protocol requested by server;

    因为安装的MySQL是8.0版本的,因为在安装的时候采用了新的加密方式. 我们需要使用 cmd命令,连接mysql 1.   更改加密方式 mysql> ALTER USER 'root'@'l ...

  4. Spring 内部机制 Spring AOP

    https://my.oschina.net/zhangxufeng/blog/2219005 Spring Bean注册解析(一)和Spring Bean注册解析(二) 彻底征服 Spring AO ...

  5. Spring IoC 的实现机制

    Spring 中的 IoC 的实现原理就是工厂模式加反射机制. interface Fruit {     public abstract void eat(); } class Apple impl ...

  6. CentOS7使用yum安装redis

    #下载fedora的epel仓库yum install epel-release #安装redis数据库yum install redis # 启动Redisservice redis start # ...

  7. Hive、Inceptor数据倾斜详解及解决

    一.倾斜造成的原因 正常的数据分布理论上都是倾斜的,就是我们所说的20-80原理:80%的财富集中在20%的人手中, 80%的用户只使用20%的功能 , 20%的用户贡献了80%的访问量. 俗话是,一 ...

  8. java https post请求并忽略证书,参数放在body中

    1 新建java类,作用是绕过证书用 package cn.smartercampus.core.util; import java.security.cert.CertificateExceptio ...

  9. [转]How to Install Oracle Java 11 in Ubuntu 18.04/18.10

    链接地址:http://ubuntuhandbook.org/index.php/2018/11/how-to-install-oracle-java-11-in-ubuntu-18-04-18-10 ...

  10. 【DL基础】GridSearch网格搜索

    前言 参考 1. 调参必备---GridSearch网格搜索: 完