thymeleaf2.x 如何在onclick传值出错的解决方案

引言:昨天做毕业设计突然碰上onclick传动态值失效的问题,开始写的是这个语句,在管理页面可以实现没有问题。

th:onclick="'javascript:_queryPage(\''+${动态值}+'\')'"
  • 动态值:${item.属性名}
    以上方法在标签一直报错没有反应,前端查看就变成了这样了:
 onclick="javascript:_queryPage(1,‘属性值’)"

单击事件直接失效了。一直报错
org.thymeleaf.exceptions.TemplateProcessingException: 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.
解决办法:
此方法对我来说解决了,如果碰上这个问题可以参考一下:

<a href="javascript:void(0)" th:text="${item.name}"
                   th:data-id ="${item.code}"
                   onclick="_queryPage(1,this.getAttribute('data-id'))"></a>

上面的th:data-* = “${动态值}” onclick里面就可以直接用this.getAttribute(‘data-*’)取值就行,我的问题解决了,前台解析显示:
οnclick="_queryPage(1,this.getAttribute(‘data-id’))"可以解决。

其他解决办法(仅供参考):

  • 方法一:
th:onclick="function([[${param}]])"
  • 方法二(和我最开始用的方法一样):
<button th:onclick="'javascript:del(\''+${item.id}+'\');'" type="button"></button>
  • 方法三(这个方法有可能报错,我开始用的时候一直不行,但是我看有的人就好使):
<a href="#" th:onclick="'javascript:updateState([[#{item.id}]],2);'" title="删除"><i class="fa fa-edit text-navy"></i></a>
  • 方法四(没有使用)
<button th:onclick="|getName(${person.name} )|">获得名字</button>
<button class="btn" th:onclick="'getName(' + ${person.name} + ');'">获得名字</button>
  • 最终方法
    检查是否是代码书写错误,或者后台传值问题。还有其他方法请补充,以上都是我踩的坑。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据您提供的引用内容,您遇到的问题是在配置pom.xml文件时出现了依赖问题,具体是"Dependency 'org.springframework.boot:spring-boot-starter-test' not found"。您在各类网站上查找解决方法都没有找到有效的解决方案,直到在CSDN上找到了一篇文章,通过在Maven中导入相关包解决了问题。同时,您还提到了另外一个引用内容,其中包含了关于Maven安装的信息。 对于您的问题,您可以尝试在Maven中导入"spring-boot-starter-test"包来解决依赖问题。另外,您还提到了关于Thymeleaf的引用内容,但是您并没有提出具体的问题。如果您有关于"spring-boot-starter-thymeleaf"和"org.thymeleaf.context.Context"的问题,请提供更多细节,我将尽力为您解答。 #### 引用[.reference_title] - *1* [Dependency ‘org.springframework.bootspring-boot-starter-testnot found 的解决方法](https://blog.csdn.net/m0_67391270/article/details/126327077)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [MyBatis-Spring-Boot-Starter学习](https://blog.csdn.net/m0_67391907/article/details/126463485)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖的肖傲楠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值