在th:replace中使用变量不会呈现模板

问题描述 投票:0回答:1

我正在th:replace部分使用Spring MVC控制器的model属性。在示例中,页面变量是字符串defult :: default,但最上面的一个指出了以下错误。TemplateInputException: Error resolving template [default :: default], template might not exist or might not be accessible by any of the configured Template Resolvers (template: "index" - line 53, col 14)

<div th:replace="${page}" th:assert="${!#strings.isEmpty(page)}"></div>

<div th:replace="default :: default"></div>

最下面的一个很好。

我已经尝试了几种不同的处理器,甚至包括th:replace =“ @ {{page}(page = $ {page})}”,以及不尝试几种不同方法但似乎没有办法解决的方法变量,就像解析器一样,对标签的处理也不同。

这里是控制器代码。

    fun blog(model: Model): String {
        model["page"] = "default :: default"
        return "index"
    }

我希望两个th:reaplce属性的作用相同。

spring-mvc thymeleaf
1个回答
0
投票

这很简单。只需要__即可正确渲染,只需要RTFM。

<div th:include="__${page}__" th:if="${!#strings.isEmpty(page)}"></div>

出于某些原因,我比布局更喜欢这种布局。

© www.soinside.com 2019 - 2024. All rights reserved.