我试图创建一个模板,允许我将属性传递给模型,指定将用于替换模板中div标签的片段名称。
模板代码为:
a_1 b_1
a_2 b_2
a_4 b_4
(INCLUDE_FRAGMENT_NAME的值为"片段"。 在我的控制器中,我有:
<div th:replace="${__${T(mypackage.WebUtils).INCLUDE_FRAGMENT_NAME}__}"/>
MAIN_OVERVIEW_DIV_INCLUDE为&#34; main / main :: fragment&#34;。
我得到的错误就是这个:
HTTP状态500 - 请求处理失败;嵌套异常是org.thymeleaf.exceptions.TemplateInputException:模板解析期间发生错误(模板:&#34; ServletContext资源[/ WEB-INF / templates / main / main :: fragment.html]&#34; - 第43行,col 14)
我知道网址错误但我不知道如何解决这个问题。有什么帮助吗?
另外,如果我可以动态设置main / main中的片段名称会很好,但我想这是不可能的,因为片段在被包含之前没有被评估,对吧?
谢谢!
答案 0 :(得分:0)
问题与https://github.com/thymeleaf/thymeleaf-spring/issues/77有关 - 将代码更改为
<div th:replace="${__${T(mypackage.WebUtils).INCLUDE_FILE_VAR_NAME}__} :: ${__${T(mypackage.WebUtils).INCLUDE_FRAGMENT_VAR_NAME}__}"/>
为我解决了这个问题。有关动态片段名称,请参阅http://forum.thymeleaf.org/Thymeleaf-3-with-nested-recursive-evaluation-and-th-replace-td4029392.html#a4029395