我需要使用百里香从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>
但是它没有按预期工作。它显示以下错误。有人可以帮助我们展示如何将学生对象从百里香传递到javascript函数吗?
发生意外错误(类型=内部服务器错误,状态= 500)。模板解析期间发生错误(模板:“类路径资源[templates / students.html]”) org.thymeleaf.exceptions.TemplateInputException:模板解析期间发生错误(模板:“类路径资源[templates / students.html]”)
答案 0 :(得分:0)
出于安全原因,您必须定义参数以用作数据属性(在百里香叶的最新版本中)。通过以下方式进行操作:
th:data-student="${student}" th:onclick="edit(this.getAttribute('data-student'))"