Sitemesh-Einführung
Sitemesh ist ein Framework, das auf dem Layout, der Dekoration und der Integration von Webseiten in vorhandene Webanwendungen basiert. Es ist ein Dekorator. Es kann uns dabei helfen, in Projekten mit einer großen Anzahl von Seitenprojekten ein konsistentes Seitenlayout und Erscheinungsbild zu erstellen, z. B. konsistente Navigationsleisten, konsistente Banner, konsistente Urheberrechte usw.
SiteMesh basiert auf einem Servlet-Filter. Es fängt die Antwort ab und dekoriert sie, bevor sie an den Client übermittelt wird.
Spring Boot integriert Sitemesh
Die Integrationsarbeit ist sehr einfach:
1. Stellen Sie das sitemesh.jar-Paket vor
2 , Fügen Sie eine Konfigurationsklasse und eine Filterklasse hinzu
3. Fügen Sie eine Dekoratorseite hinzu
2.1 Führen Sie das sitemesh.jar-Paket ein
Fügen Sie es in die Maven-POM-Datei ein:
<dependency> <groupId>org.sitemesh</groupId> <artifactId>sitemesh</artifactId> <version>3.0.1</version> </dependency>
Konfigurationsklasse und Filterklasse
Die Konfigurationsklasse lautet wie folgt:
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"); } }
Decorator-Seite
Die Dekoratorseite ist die Vorlagenseite, und die in den Filterregeln definierten Seiten werden von dieser Seite dekoriert.
<!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>
Wenn wir mit der oben genannten Dekoratorseite die dekorierte Seite wie /admin/test besuchen, ist der angezeigte Inhalt die Dekoratorseite + der Inhalt im Körperelement der dekorierten Seite,
<!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>
Die letzte Seite lautet:
<!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>
Das obige ist der detaillierte Inhalt vonSpring Boot integriertes Sitemesh. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!