我对Thymeleaf有点新意,如果这是一个新的语法错误,请道歉。
我试图让Thymeleaf在同一个th:with
属性中执行多个语句。
<div th:with="url = ${#httpServletRequest.getRequestURL()}, url = ${url.substring(0, url.indexOf('error'))}"></div>
但这不是正确的语法。
org.thymeleaf.exceptions.TemplateProcessingException:无法解析为赋值序列:&#34; url = $ {#httpServletRequest.getRequestURL()},url = url.substring(0,url.indexOf(&#39;错误&#39;))&#34; (误差/ 404:11)
这是可能的,如果是的话,我试图完成的正确语法是什么?
编辑:我修复了以下部分的语法错误,现在我收到了不同的错误。
尝试将其分成两部分,但后来看来url
变量未在SpringEL表达式中正确填充。
<div th:with="url = ${#httpServletRequest.getRequestURL()}">
<div th:with="url = ${url.substring(0, url.indexOf('error'))}"></div>
</div>
org.thymeleaf.exceptions.TemplateProcessingException:无法解析为赋值序列:&#34; url = $ {url.substring(0,url.indexOf(&#39; error&#39;)})&#34; (错误/ 404:12)
由以下引起:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-1
答案 0 :(得分:0)
我将参考第二个版本。
http://www.tutorialspoint.com/java/java_string_indexof.htm
int indexOf(String str)
:返回指定子字符串第一次出现的字符串中的索引。如果它不作为子字符串出现,则返回-1
。
所以我认为error
没有发生。
然后你正在尝试
url.substring(0,-1)
你得到一个错误。