Maison > Java > javaDidacticiel > sitemesh intégré au démarrage à ressort

sitemesh intégré au démarrage à ressort

(*-*)浩
Libérer: 2019-09-04 16:52:42
avant
3663 Les gens l'ont consulté

sitemesh intégré au démarrage à ressort

Sitemesh Introduction

Sitemesh est un framework basé sur la mise en page, la décoration et l'intégration de pages Web existantes. C'est un décorateur. Cela peut nous aider à créer une mise en page et une apparence cohérentes dans les projets comportant un grand nombre de projets de pages, tels que des barres de navigation cohérentes, des bannières cohérentes, des droits d'auteur cohérents, etc.

SiteMesh est basé sur le filtre Servlet. Il intercepte la réponse et la décore avant de la transmettre au client.

spring boot intègre sitemesh

Le travail d'intégration est très simple :

1 Présentez le package sitemesh.jar

2. , Ajoutez une classe de configuration et une classe de filtre

3. Ajoutez une page de décorateur

2.1 Introduisez le package sitemesh.jar

Introduisez-le dans le fichier pom maven :

<dependency>
<groupId>org.sitemesh</groupId>
<artifactId>sitemesh</artifactId>
<version>3.0.1</version>
</dependency>
Copier après la connexion

Classe de configuration et classe de filtre

La classe de configuration est la suivante :

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>标签

@Bean

public FilterRegistrationBean siteMeshFilter(){

FilterRegistrationBean fitler = new FilterRegistrationBean();

//实例化一个过滤器类

WebSiteMeshFilter siteMeshFilter = new WebSiteMeshFilter();

fitler.setFilter(siteMeshFilter);

return fitler;

}

}

过滤器类如下:

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");

}

}
Copier après la connexion

Page Décorateur

La page décorateur est la page modèle, et les pages définies dans les règles de filtrage seront décorées par cette page.

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">

<head>

<title>装饰器页面</title>

</head>

<body>

...

<div id="content">

<sitemesh:write property=&#39;body&#39; />

</div>

</body>

</html>
Copier après la connexion

Avec la page décorateur ci-dessus, lorsque l'on visite la page décorée telle que /admin/test, le contenu affiché est la page décorateur + le contenu dans l'élément body de la page décorée, sera remplacé par le contenu de l'élément body de la page décorée. Supposons que la page de test soit la suivante :

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">

<head>

<title>test页面</title>

</head>

<body>

<h1>我是test</h1>

</body>

</html>
Copier après la connexion

La page finale est :

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">

<head>

<title>装饰器页面</title>

</head>

<body>

...

<div id="content">

<h1>我是test</h1>

</div>

</body>

</html>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal