gpt4 book ai didi

spring-mvc - 试图忽略 Thymeleaf 布局方言中未使用的布局片段

转载 作者:行者123 更新时间:2023-12-02 03:16:10 26 4
gpt4 key购买 nike

有谁知道如果在调用页面中未指定 layout:fragment 是否可以隐藏它?

例如,我有一个页面 layout.html,它有类似的内容(其中有一个带有页眉和页脚片段的单独的 fragment.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"
th:lang = "en">
<head>
<title layout:title-pattern="$CONTENT_TITLE">TITLE</title>
</head>
<body>
<header layout:replace="fragment :: header">HEADER</header>
<section layout:fragment="messages">MESSAGES</section>
<section layout:fragment="content">CONTENT</section>
<footer layout:replace="fragment :: footer">FOOTER</footer>
</body>
</html>

如果在布局的调用页面中我不想包含“消息”片段,是否可以通过不包含该代码来实现?例如(例如,simple.html):

<html layout:decorator="layout">
<head>
<title th:text=#{PAGETITLE_SIMPLE}>SIMPLE PAGE TITLE</title>
</head>
<body>
<section layout:fragment="content">
<p>Put in some random content for the body of the simple page</p>
</section>
</body>

这仍然会将文本“MESSAGES”放入呈现的 HTML 中的

标签中。

我已经能够将这个 simple.html 放入

<section layout:fragment="messages" th:remove="all"></section>

但这似乎有些草率,想知道是否有一种方法可以通过将逻辑放在布局中以完全忽略该片段来向布局用户隐藏它。

使用 Spring 4.1.6、Thymleaf 2.1.4 和 Layout Dialect 1.3.3。

谢谢

最佳答案

我能够通过应用 Serge Ballesta 在 How to check Thymeleaf fragment is defined 中发布的方法解决此问题到布局方言。

这是重写后的 layout.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"
th:lang = "en">
<head>
<title layout:title-pattern="$CONTENT_TITLE">TITLE</title>
</head>
<body>
<header layout:replace="fragment :: header">HEADER</header>
<section layout:replace="this :: messages">MESSAGES</section>
<section layout:fragment="content">CONTENT</section>
<footer layout:replace="fragment :: footer">FOOTER</footer>
</body>
</html>

这样,如果调用页面 (simple.html) 只有

用于 content,则不会为消息部分呈现 HTML。但如果页面确实包含以下内容,它将按预期包含在内:

<section layout:fragment="messages">
<p>Message 1</p>
<p>Message 2</p>
</section>

关于spring-mvc - 试图忽略 Thymeleaf 布局方言中未使用的布局片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36939997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com