thymeleaf使用th:onclick事件涉及添加参数出现错误

       最近在使用SpringBoot整合Thymeleaf时,在html中有用到以下的写法:

<a href="#" th:onclick="'openGroupBuyOrder('+${r.order_no}+','+${r.nick_name}+')'" >

       其中遇到这个问题:

Only variable expressions returning numbers or booleans are allowed in 
this context, any other datatypes are not trusted in the context of this 
expression, including Strings or any other object that could be rendered 
as a text literal. A typical case is HTML attributes for event handlers 
(e.g. "onload"), in which textual data from variables should better be 
output to "data-*" attributes and then read from the event handler.

       经过网上查找资料和查看thymeleaf使用手册,发现它除了有${}这种方式可以获取后端传过来的值以外,还可以通过"[[ ${}]]“这种方式来获取值,两者的区别在于”[[ ${}]]“会被转义,并且可以在js代码中直接获取出来,而” [ ${}]“和” ${} "不会被转义,在js代码中不会被解析。
       因此只需要把代码改为以下形式就可以:

<a href="#" th:onclick="openGroupBuyOrder([[${r.order_no}]],[[${r.nick_name}]])" >
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值