【问题标题】:Calling a method with a variable using spring-el from thymeleaf使用来自 thymeleaf 的 spring-el 调用带有变量的方法
【发布时间】:2015-10-10 13:15:32
【问题描述】:

我有这样的事情:

<form action="/" th:object="${index}">
<ul class="error" th:if="${#fields.hasAnyErrors()}" th:remove="all-but-first">
<li th:each="error : ${#fields.detailedErrors()}" th:utext="${index.fieldErrorText(error)}">DETAILED ERROR</li>
</ul>
</form>

调用 ${index.fieldErrorText(error)} 工作正常,但我想更进一步。因为我有 th:object="${index}" 我希望能够做这样的事情:

*{fieldErrorText(error)}

但在这种情况下,它会在索引上而不是从 th:each 变量中查找错误并抛出“找不到属性或字段'错误'”。

我尝试了其他组合:*{fieldErrorText(${error})}(意外令牌。预期为 'rparen())' 但为 'lcurly({)'),*{fieldErrorText(__${error}__ )} (Cannot handle (241) 'ñ'; 似乎做了 toString 什么的) 和 *{fieldErrorText(__error__)} (找不到属性或字段'error')。

有人知道这个案例的正确语义吗?

【问题讨论】:

    标签: spring-mvc thymeleaf spring-el


    【解决方案1】:

    试试这个

     *{fieldErrorText(__${error}__)}
    

    根据文档,您需要进行一些预处理。

    http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#preprocessing

    【讨论】:

    • 试过了。抱歉,原始消息显示为粗体,因为我没有逃脱我的 __
    猜你喜欢
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 2016-04-17
    相关资源
    最近更新 更多