thymeleaf中th:onclick如何进行参数值的传递
在Thymeleaf中使用th:onclick
传递参数时,如果你遇到了错误信息“Only variable expressions returning numbers or booleans are allowed in this context”,你可以通过以下方法来解决这个问题:
方法1:使用双括号[[...]]
来传递字符串参数
当你需要传递字符串类型的参数时,可以使用双括号
[[...]]
来确保参数被正确地传递给JavaScript函数。例如:<button th:onclick="handleToMore([[${page}]], [[${limit}]])">Load More</button>
在这个例子中,${page}
和${limit}
是Thymeleaf变量,它们会被替换为实际的值,并且这些值会被传递给handleToMore
函数。
方法2:使用data-*
属性传递参数
另一种方法是将参数存储在
data-*
属性中,然后在JavaScript中读取这些属性。例如:<button th:data-page="${page}" th:data-limit="${limit}" th:onclick="handleToMore(this)">Load More</button>
然后在JavaScript中,你可以通过this
关键字访问当前元素,并获取data-page
和data-limit
属性的值:
function handleToMore(button) {
var page = button.getAttribute('data-page');
var limit = button.getAttribute('data-limit');
// 你的逻辑代码
}
这种方法可以避免直接在
th:onclick
中拼接字符串,从而减少潜在的安全风险。通过以上方法,你可以有效地在Thymeleaf中使用th:onclick
传递参数,同时避免常见的错误信息。
分类:
技术专题_学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
2018-01-09 2018年一名合格的web前端程序员应该会哪些技术
2018-01-09 2018年成为Web开发者的路线图