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>
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"); } }
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='body' /> </div> </body> </html>
<!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>
<!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>
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!