【问题标题】:Thymeleaf with nested (recursive) evaluation and th:replace具有嵌套(递归)评估和 th:replace 的 Thymeleaf
【发布时间】:2015-12-14 15:15:02
【问题描述】:

我正在尝试创建一个模板,该模板允许我将一个属性传递给模型,指定将用于替换模板中的 div 标记的片段名称。

模板代码为:

    <div th:replace="${__${T(mypackage.WebUtils).INCLUDE_FRAGMENT_NAME}__}"/>

(INCLUDE_FRAGMENT_NAME 的值为“片段”。 在我的控制器中,我有:

model.addAttribute(WebUtils.INCLUDE_FRAGMENT_NAME, WebUtils.MAIN_OVERVIEW_DIV_INCLUDE);

其中 MAIN_OVERVIEW_DIV_INCLUDE 是“主/主 :: 片段”。

我得到的错误是这个:

HTTP 状态 500 - 请求处理失败;嵌套异常是 org.thymeleaf.exceptions.TemplateInputException:模板解析期间发生错误(模板:“ServletContext 资源 [/WEB-INF/templates/main/main::fragment.html]” - 第 43 行,第 14 列)

我了解该 URL 错误,但我不知道如何解决该问题。有什么帮助吗?

另外,如果我可以在 main/main 中动态设置片段名称会很好,但我想这是不可能的,因为片段在被包含之前不会被评估,对吧?

谢谢!

【问题讨论】:

    标签: replace include nested fragment thymeleaf


    【解决方案1】:

    问题与https://github.com/thymeleaf/thymeleaf-spring/issues/77有关-将代码更改为

    &lt;div th:replace="${__${T(mypackage.WebUtils).INCLUDE_FILE_VAR_NAME}__} :: ${__${T(mypackage.WebUtils).INCLUDE_FRAGMENT_VAR_NAME}__}"/&gt;

    为我解决了这个问题。动态片段名称见http://forum.thymeleaf.org/Thymeleaf-3-with-nested-recursive-evaluation-and-th-replace-td4029392.html#a4029395

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 2018-03-10
      • 1970-01-01
      相关资源
      最近更新 更多