我的网页正在使用通用包装器渲染每个页面(约20页),并通过Thymeleaf (th:include="wrapper :: page")
将其包括在内。我为这些页面添加了ViewController,如下所示:“ registry.addViewController("/").setViewName("index");
”(示例)
现在是我的问题..因为我想为每个页面动态更改标题html标签。.
(<meta name="title" th:content="${title}"/>
)...
如果我可以,可以吗?将我当前的addViewController方法更改为新的Controller,@RequestMapping每个页面并添加模型model.addAttribute("title", titleVariable);
?
还是添加这么多@RequestMapping方法仅更改html title属性会被视为不好的做法?还有其他更好的方法来动态更改标题标签吗?
答案 0 :(得分:0)
是否允许使用jQuery?
try_to_do_math
或先将其存储在变量中
$('title').text($('meta[name="title"]')[0].content);
答案 1 :(得分:0)
将其添加到页面布局的头部:
<title layout:title-pattern="$LAYOUT_TITLE - $CONTENT_TITLE">Site name</title>
,当您进行如下模板设置时,它将拉入您所包含页面上的所有标题:
<html xmlns:th="http://www.thymeleaf.org" layout:decorate="~{direcory/pagename}">
<head>
<title>This title will appear</title>
</head>