我需要在HTML中使用动态值填充meta标签的content属性。我正在将Spring Boot与thymeleaf模板引擎一起使用。我尝试寻找解决方案,但所有解决方案要么零零碎碎,要么不直接回答我的问题。由于项目的性质,我不想使用JQuery或任何其他JavaScript框架,因此发布此查询。
已经尝试了各种百里香开箱即用功能
@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
答案 0 :(得分:3)
Thymeleaf本机支持th:content
属性。无需进行JavaScript hack。 See the list of supported attributes。
<meta http-equiv="Refresh" th:content="|0; url=${url}|" />
答案 1 :(得分:0)
我想发布一个可行的解决方案,以使我自己和以后偶然发现此页面的其他人受益
<!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>