ホームページ > Java > &#&チュートリアル > スプリングブーツ統合サイトメッシュ

スプリングブーツ統合サイトメッシュ

(*-*)浩
リリース: 2019-09-04 16:52:42
転載
3663 人が閲覧しました

スプリングブーツ統合サイトメッシュ

Sitemesh の概要

Sitemesh は、Web ページのレイアウト、装飾、および既存の Web アプリケーションとの統合に基づいたフレームワークであり、デコレーターです。これは、一貫したナビゲーション バー、一貫したバナー、一貫した著作権など、多数のページ プロジェクトを含むプロジェクトで一貫したページ レイアウトと外観を作成するのに役立ちます。

SiteMesh はサーブレット フィルターに基づいており、応答をインターセプトし、クライアントに配信する前に装飾します。

Spring Boot は sitemesh を統合します

統合のために行う作業は非常に簡単です:

1. sitemesh.jar パッケージを導入します

2、構成クラスとフィルター クラスを追加します

3、デコレータ ページを追加します

2.1、sitemesh.jar パッケージを導入します

Maven pom ファイルに導入します:

<dependency>
<groupId>org.sitemesh</groupId>
<artifactId>sitemesh</artifactId>
<version>3.0.1</version>
</dependency>
ログイン後にコピー

設定クラスとフィルター クラス

設定クラスは次のとおりです:

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 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>
ログイン後にコピー

上記のデコレータ ページでは、/admin/test などのデコレータ ページにアクセスすると、表示されるコンテンツは、デコレータ ページのデコレータ ページの body 要素、 は、装飾されたページの body 要素内のコンテンツに置き換えられます。テスト ページが次のとおりであると仮定します:

<!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>
ログイン後にコピー

以上がスプリングブーツ統合サイトメッシュの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート