Html 使用thymeleaf中的参数调用javascript函数
我需要使用thymeleaf从html调用一个javascript函数。在这种情况下,我有一个学生对象,我需要将这个学生对象传递给javascript函数(edit()),以便在单击按钮时进行处理 重要代码段:Html 使用thymeleaf中的参数调用javascript函数,html,thymeleaf,Html,Thymeleaf,我需要使用thymeleaf从html调用一个javascript函数。在这种情况下,我有一个学生对象,我需要将这个学生对象传递给javascript函数(edit()),以便在单击按钮时进行处理 重要代码段: <form action="/addStudent" method="post"> Name:<br> <input type="text" id="name" name="name"><br> <input type="submit
<form action="/addStudent" method="post">
Name:<br>
<input type="text" id="name" name="name"><br>
<input type="submit" value="Submit"></form>
<table>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
<tr th:each="student : ${students}">
<td th:text="${student.id}"></td>
<td th:text="${student.name}"></td>
<td>
<button type="button" th:onclick="'edit(\'' + ${student} + '\');'">Edit</button>
</td>
</tr></table>
<script type="text/javascript">
function edit(student)
{
console.log("--------------------edit---------------------" + student.name);
}</script>
名称:
身份证件
名称
编辑
函数编辑(学生)
{
console.log(“--------------编辑-----------------”+学生名);
}
但它并没有像预期的那样起作用。它显示以下错误。有人可以通过演示如何将student对象从thymeleaf传递到javascript函数来提供帮助吗
出现意外错误(类型=内部服务器错误,状态=500)。在模板分析过程中发生错误(模板:“类路径资源[templates/students.html]”)
org.thymeleaf.exceptions.TemplateInputException:模板解析期间发生错误(模板:“类路径资源[templates/students.html]”)
出于安全原因,必须定义用作数据属性的参数(在最新版本的thymeleaf中)。按以下方式进行:
th:data-student="${student}" th:onclick="edit(this.getAttribute('data-student'))"
你说的不符合预期是什么意思?您是否在编辑功能中正确获取了学生对象?@Eytan更新了原始帖子,并显示错误消息。请检查编辑功能中的学生。添加调试器;在函数的开头。按F12或Ctrl+Shift+I进行捕捉。这非常有效,但仅适用于字符串。如果我尝试获取学生属性名称,它会显示未定义。我们能否传递整个student对象,以便javascript函数可以访问其所有属性?@Ruchira最简单的方法可能是在数据属性中使用JSON格式,然后在js中检索它。看看这把小提琴,我会试试的。谢谢