首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Thymeleaf和Spring引导动态更改html标题值

用Thymeleaf和Spring引导动态更改html标题值
EN

Stack Overflow用户
提问于 2018-11-19 00:35:11
回答 2查看 2.1K关注 0票数 1

我的网页是用一个通用包装器呈现每个页面(大约20页),并通过Thymeleaf (th:include="wrapper :: page")将其包括在内。Im为这些页面添加ViewControllers,如下所示:"registry.addViewController("/").setViewName("index");“(示例)

现在我的问题..。因为我想动态地更改每个页面的标题html标记。

( <meta name="title" th:content="${title}"/>)...

如果我将当前的addViewController方法更改为一个新的Controller,@Request映射每个页面并添加一个模型model.addAttribute("title", titleVariable);,可以吗?

或者,添加这么多@RequestMapping方法只是为了更改html title属性,会被认为是一种糟糕的做法吗?另外还有其他更好的动态更改标题标记的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-19 17:46:38

将此添加到页面布局标题中:

代码语言:javascript
复制
<title layout:title-pattern="$LAYOUT_TITLE - $CONTENT_TITLE">Site name</title>

当模板设置如下时,它将在包含的页面上引入所有标题:

代码语言:javascript
复制
<html xmlns:th="http://www.thymeleaf.org" layout:decorate="~{direcory/pagename}">
<head>
    <title>This title will appear</title>
</head>
票数 0
EN

Stack Overflow用户

发布于 2018-11-19 00:45:13

你可以使用jQuery吗?

代码语言:javascript
复制
$('title').text($('meta[name="title"]')[0].content);

或者先将其存储在变量中。

代码语言:javascript
复制
var title = $('meta[name="title"]')[0].content;
$('title').text(title);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53366907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档