Html 使用thymeleaf中的参数调用javascript函数

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

我需要使用thymeleaf从html调用一个javascript函数。在这种情况下,我有一个学生对象,我需要将这个学生对象传递给javascript函数(edit()),以便在单击按钮时进行处理

重要代码段:

<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中检索它。看看这把小提琴,我会试试的。谢谢