私は、新しいSpring Boot v1.5プロジェクトを作成し、Thymeleaf Layout Dialectが動作しない問題に直面しました。春ブートThymeleafレイアウトの方言が機能しない
私はbuild.gradleとそのクラスパス上の依存関係を持っています。
compile group: 'nz.net.ultraq.thymeleaf', name: 'thymeleaf-layout-dialect', version: '2.1.2'
私は、次のレイアウトファイルに
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
<meta charset="UTF-8" />
<title>Default Template</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="author" content="" />
<meta name="description" content="" />
<meta name="title" content="" />
<link rel="stylesheet" media="screen" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
</head>
<body>
<!-- header -->
<header th:include="shared/nav-menu :: menu-admin" />
<!-- page content -->
<th:block>
<section layout:fragment="content"></section>
</th:block>
</body>
</html>
を持っており、コンテンツを持つファイル:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorator="default">
<head>
<title>Parameter Manager</title>
</head>
<body>
<section layout:fragment="content">
<h2>OMG I am on the page!</h2>
</section>
</body>
</html>
HTML出力がcontent.htmlファイルです。意図したとおりに動作しません。ヘッダーとナビゲーションメニューは、HTML出力の一部でなければなりません。また、ページソース内にあるべきではありません。
ソースを表示しても、レイアウト:フラグメントとレイアウト:デコレータの属性が表示されますか、またはそれらはなくなっていますか?あなたのテンプレートが全く評価されているかどうかを調べるために、他のthymeleafタグを試しましたか? – Metroids
login.htmlでは、レイアウトダイアレクトを使用していませんが、thymeleafは正常に動作します。私はこれまでと同じ設定を使ってきましたが、当時はSpring Boot 1.2または1.3だったので、何か変わったかもしれません。 – greyfox