Spring Boot 将作为模型传递的变量添加到th:onclick的location.href时出错

2ic8powd  于 2023-08-04  发布在  Spring
关注(0)|答案(1)|浏览(89)

我试图在th:onclick的控制器中使用model.addattribute()获得的值,但我得到了一个错误。

// work correctly
th:onclick="|location.href='/announcement/' + ${list.id}|"

// error occurs
th:onclick="|location.href='/' + ${list.boardCategory} + '/' + ${list.id}|"

字符串
“在此上下文中只允许返回数字或布尔值的变量表达式,在此表达式的上下文中不信任任何其他数据类型,包括字符串或任何其他可以呈现为文本文字的对象。典型的情况是事件处理程序的HTML属性(例如,“onload”),其中最好将来自变量的文本数据输出到“data-*”属性,然后从事件处理程序读取。”
错误消息如上所述。
我很好奇是什么问题以及如何解决它。谢谢。

2ekbmq32

2ekbmq321#

我还没有尝试过,但显然这应该工作:

th:onclick="|location.href='/__${list.boardCategory}__/__${list.id}__'|"

字符串
显然,你必须提前计算变量,用两个下划线将其括起来。
这也应该消除了使用+操作数的需要

相关问题