java - Thymeleaf 应用不同的标题模式
问题描述
我正在使用最新版本的thymeleaf 页面布局。
我想为$CONTENT_TITLE - $LAYOUT_TITLE
我的所有页面使用标题模式。因此,我创建了以下布局和内容文件。
我的layout.html
文件看起来像
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.w3.org/1999/xhtml">
<head>
<title layout:title-pattern="$CONTENT_TITLE - $LAYOUT_TITLE">My Company Name</title>
<!-- some scripts and styles --->
</head>
<body>
<!-- some content --->
</body>
</html>
我的content.html
样子
<!DOCTYPE html>
<html xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" xmlns:th="http://www.thymeleaf.org"
layout:decorate="~{layout.html}">
<head>
<title>
<th:block th:if="${meta.pageTitle}" th:text="${meta.pageTitle}"></th:block>
</title>
</head>
<body>
<!-- some content --->
</body>
</html>
如果内容页面Newsletter
作为属性的值pageTitle
并且我在浏览器中调用内容页面,我会得到正确的结果:
<title>Newsletter - My Company Name</title>
如果我的内容页面没有标题,我只想$LAYOUT_TITLE
在我的<title>
标签中显示不带前导分隔符的-
。但是,我得到了我的代码
<title>- My Company Name</title>
我想要的是
<title>My Company Name</title>
我怎样才能以简单的方式实现这一目标?据我所知,我不能$CONTENT_TITLE
在 layout.html 中使用并检查它是否为空,或者可以吗?
解决方案
尝试简单地使您的$CONTENT_TITLE具有“ Newsletter - ”值,并在您的 layout.html 中放入以下行以获得新的标题模式:
<title layout:title-pattern="$CONTENT_TITLE $LAYOUT_TITLE">My Company Name</title>
推荐阅读
- python - 数字数据框推荐系统
- javascript - 一个函数执行两个函数但只执行一个?
- sql-server - Microsoft SQL Server 的数据存储
- python - 在给定一些预定义条件的情况下,如何使用 groupby 确定字段的最后一个值?
- git - 如何删除不属于任何分支的提交?
- flutter - 使用热重启时处理 dispose 方法
- reactjs - 我正在尝试创建反应应用程序,但我得到了这个输出: -
- node.js - 我正在尝试将用户注册 node.js 后端的生成和验证 OTP 与我的颤振应用程序与 Twilio 2FA OTP 集成
- java - 空手道框架 json 响应折叠字段差异顺序然后预期
- c++ - 如何在 C++ 列表中使用 while 循环?