是否可以通过attributeModel将百里香叶代码发送到View,以被视为标准代码?
我只想在需要时才在不同位置加载一段代码(百里香片段)。 但是当我尝试这样做时:
Spring Boot Controller:
model.addAttribute("fragment", "<th:block th:include=\"fragments/header :: body\"></th:block>");
查看:
<div th:text="${fragment}"></div>
在WebBrowser中,作为TEXT:
<th:block th:include="fragments/header :: body"></th:block>
我可以强制重新渲染吗?我该怎么办?但是,如果不可能,我该怎么办?
答案 0 :(得分:0)
th:text
解析的所有内容都设置为innerHTML
,并且不会重新呈现。
您可以在controller
中设置参数,然后检查Thymeleaf
是否已设置,然后包含或替换您的片段。像这样:
控制器
model.addAttribute("isFragmentBodyShow", true);
查看
<th:block th:if="${isFragmentBodyShow}" th:include="fragments/header :: body"></th:block>
您还可以将片段名称从contoller
发送到Thymeleaf
,并将其在th:include
中用于动态模板包含。