【发布时间】:2016-12-19 11:45:21
【问题描述】:
我对 Thymeleaf 有点陌生,如果这是一个新语法错误,我深表歉意。
我试图让 Thymeleaf 在同一个 th:with 属性中执行多个语句。
<div th:with="url = ${#httpServletRequest.getRequestURL()}, url = ${url.substring(0, url.indexOf('error'))}"></div>
但这不是正确的语法。
org.thymeleaf.exceptions.TemplateProcessingException:无法解析为分配序列:“url = ${#httpServletRequest.getRequestURL()},url = url.substring(0, url.indexOf('error'))”(错误/404:11)
这可能吗?如果可以,我想要完成的正确语法是什么?
编辑:我已修复以下部分中的语法错误,现在我遇到了另一个错误。
尝试将其分成两部分,但随后在 SpringEL 表达式中似乎没有正确填充 url 变量。
<div th:with="url = ${#httpServletRequest.getRequestURL()}">
<div th:with="url = ${url.substring(0, url.indexOf('error'))}"></div>
</div>
org.thymeleaf.exceptions.TemplateProcessingException:无法解析为分配序列:“url = ${url.substring(0, url.indexOf('error')})”(error/404:12)
引起:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-1
【问题讨论】:
-
可以试试不带空格的:)
-
你遇到了什么错误?
-
我认为您的第二个示例没有任何问题。如果您的 url 变量中没有字符串“error”,它会返回 -1,这会导致 url.substring 因您看到的错误而失败。
标签: html spring-mvc thymeleaf