在thymeleaf中构建递归片段时,我注意到参数的值不会改变。这是一个简单的例子:
爪哇
ctx = new WebContext(request, response, servletContext);
ctx.setVariable("var1", "1");
ctx.setVariable("var2", "2");
HTML
<div th:fragment="test ( parameter )">
<p th:text="${parameter}"></p>
<div th:if="${'__${parameter}__' == '1'}">
<p th:replace="fragments :: test ( ${var2} )"></p>
</div>
</div>
<div th:replace="fragments :: test ( ${var1} )></div>
这导致stackoverflow。经过一些调试后,我发现每个周期parameter
的值都是1
。
为什么会发生这种情况?解决方法是什么?