org.thymeleaf.exceptions.TemplateProcessingException:在此上下文中只允许返回数字或布尔值的变量表达式
Posted
技术标签:
【中文标题】org.thymeleaf.exceptions.TemplateProcessingException:在此上下文中只允许返回数字或布尔值的变量表达式【英文标题】:org.thymeleaf.exceptions.TemplateProcessingException: Only variable expressions returning numbers or booleans are allowed in this context 【发布时间】:2019-06-10 22:51:44 【问题描述】:我一直使用thymeleaf
th:onclick
属性调用javascript
函数,参数如下
th:onclick="|myFunction('$parameter1')|"
但是thymeleaf 3.1.10
this has been removed。他们建议使用th:data
属性。
然而,我找到了以下解决方法,并且它们都运行良好。
th:attr="onclick=|myFunction('$parameter1')|"
th:onclick="@myFunction('$parameter1')">
现在我不确定这些变通办法是否是正确的做事方式,如果是,哪个更好。
【问题讨论】:
【参考方案1】:第一个将按您的意愿工作 - 但是,您绕过了安全限制,现在您的页面容易受到 javascript 注入(这是进行此更改的最初原因)。
第二个简单的不起作用。它不会扩展变量$parameter1
,而是将其编码为这样的 url:
onclick="myFunction?$%7Bparameter1%7D"
你真的应该按照页面上显示的那样做。
th:data-parameter1="$parameter1" onclick="myFunction(this.getAttribute('data-parameter1'));"
【讨论】:
以上是关于org.thymeleaf.exceptions.TemplateProcessingException:在此上下文中只允许返回数字或布尔值的变量表达式的主要内容,如果未能解决你的问题,请参考以下文章
org.thymeleaf.exceptions.templateinputexception怎么解决
org.thymeleaf.exceptions.TemplateProcessingException:在此上下文中只允许返回数字或布尔值的变量表达式
springboot报 org.thymeleaf.exceptions.TemplateInputException: Error resolving template "succeed&