springboot + Thymeleaf + HTML 用动态值替换meta标签内容属性
Springboot + Thymeleaf + HTML replace meta tag content attribute with dynamic value
我需要在 html 中使用动态值填充元标记的内容属性。我正在使用 Spring boot 和 thymeleaf 模板引擎。我尝试寻找解决方案,但所有解决方案要么是零散的,要么不直接回答我的问题。由于我项目的性质,我不想使用 JQuery 或任何其他 javascript 框架,因此发布此查询。
已经尝试过各种 thymeleaf 开箱即用的功能
@Value("${redirect.url}")
String redirectUrl;
@RequestMapping(value = "/")
@CrossOrigin
public String index( Model model) {
model.addAttribute("url", redirectUrl);
return "index";
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
<meta http-equiv="Refresh" content="0; url="/> <!-- Need to be able to populate dynamic value by using thymeleaf-->
</head>
</html>
我除了 url 标签包含从我的控制器传递的实际 URL
我想 post 一个可行的解决方案,以使我自己和将来偶然发现此页面的其他人受益
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
<meta http-equiv="Refresh" content="0; url="/>
<script th:inline="javascript">
/*<![CDATA[*/
var myUrl = /*[[${url}]]*/ 'http:localhost:3000';
var myFinalUrl = "0; url=" + myUrl;
document.querySelector('meta[http-equiv="Refresh"]').setAttribute('content',myFinalUrl);
/*]]>*/
</script>
</head>
</html>
Thymeleaf 原生支持 th:content
属性。无需使用 javascript hack。 See the list of supported attributes.
<meta http-equiv="Refresh" th:content="|0; url=${url}|" />
我需要在 html 中使用动态值填充元标记的内容属性。我正在使用 Spring boot 和 thymeleaf 模板引擎。我尝试寻找解决方案,但所有解决方案要么是零散的,要么不直接回答我的问题。由于我项目的性质,我不想使用 JQuery 或任何其他 javascript 框架,因此发布此查询。
已经尝试过各种 thymeleaf 开箱即用的功能
@Value("${redirect.url}")
String redirectUrl;
@RequestMapping(value = "/")
@CrossOrigin
public String index( Model model) {
model.addAttribute("url", redirectUrl);
return "index";
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
<meta http-equiv="Refresh" content="0; url="/> <!-- Need to be able to populate dynamic value by using thymeleaf-->
</head>
</html>
我除了 url 标签包含从我的控制器传递的实际 URL
我想 post 一个可行的解决方案,以使我自己和将来偶然发现此页面的其他人受益
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
<meta http-equiv="Refresh" content="0; url="/>
<script th:inline="javascript">
/*<![CDATA[*/
var myUrl = /*[[${url}]]*/ 'http:localhost:3000';
var myFinalUrl = "0; url=" + myUrl;
document.querySelector('meta[http-equiv="Refresh"]').setAttribute('content',myFinalUrl);
/*]]>*/
</script>
</head>
</html>
Thymeleaf 原生支持 th:content
属性。无需使用 javascript hack。 See the list of supported attributes.
<meta http-equiv="Refresh" th:content="|0; url=${url}|" />