Javascript Java JSP SpringMVC:使表格单元格可编辑的问题
目标 我有一个数据表(只是文本),在加载jsp页面时检索。我正试图使当前包含文本的单元格变成一个文本框,如果单击它,文本框中就包含该文本。每行末尾都有一个“更新”和“删除”按钮。Update将把行当前拥有的任何文本传递给控制器的Update方法(工作正常)。Delete将把键(该行中我指定为键的任何单元格)传递给控制器的Delete方法(由于问题#2而无法工作)。我对控制器类、spring或JSP和JavaScript前端以外的任何东西都没有任何问题 问题 (所有这些问题都可以通过一个最新的示例项目来解决,该项目允许在HTML表格中使用最少的JavaScript就地编辑、删除和插入表格行。我已经阅读了很多示例,这些示例要么使用100%的JavaScript/jQuery/jTable/等创建表格,要么使用HTML表格,但没有基本的功能(这是我描述的情况。)Javascript Java JSP SpringMVC:使表格单元格可编辑的问题,javascript,java,jsp,spring-mvc,Javascript,Java,Jsp,Spring Mvc,目标 我有一个数据表(只是文本),在加载jsp页面时检索。我正试图使当前包含文本的单元格变成一个文本框,如果单击它,文本框中就包含该文本。每行末尾都有一个“更新”和“删除”按钮。Update将把行当前拥有的任何文本传递给控制器的Update方法(工作正常)。Delete将把键(该行中我指定为键的任何单元格)传递给控制器的Delete方法(由于问题#2而无法工作)。我对控制器类、spring或JSP和JavaScript前端以外的任何东西都没有任何问题 问题 (所有这些问题都可以通过一个最新的示例
model.addAttribute(“row”,myService.retrieveRecords().get(0));
,即使此调用:model.addAttribute(“records”,myService.retrieveRecords());
已经填充了每一行。如果没有那行额外的代码,我不知道如何完成同样的事情
中的路径变量与我创建的新的空白行相同<body>
<div align="center">
<table border="1" cellpadding="5">
<caption><h2>TABLE</h2></caption>
<tr>
<th>CELL1</th>
<th>CELL2</th>
<th>CELL3</th>
<th></th>
<th></th>
</tr>
<c:forEach var="row" items="${records}">
<tr>
<form:form class="data-form" method="post" action="updateRow" modelAttribute="row">
<td><form:input path="cell1" value="${row.cell1}"/></td>
<td><form:input path="cell2" value="${row.cell2}"/></td>
<td><form:input path="cell3" value="${row.cell3}"/></td>
<td><input type="submit" value="UPDATE"/></td>
<td><input type="submit" value="DELETE"/></td>
</form:form>
</tr>
</c:forEach>
</table>
</div>
</body>
// "C".R.U.D.
@RequestMapping(value = "/addRow", method = RequestMethod.POST)
public String handleCreateRecordRequest(@ModelAttribute("record") TodoListRecord record, Model model) {
myService.createRecord(record);
return HOME_PAGE_REDIRECT;
}
// C."R".U.D.
@RequestMapping(value = "/home", method = RequestMethod.GET) //
public String handleRetrieveRecordsRequest(Model model) throws IOException {
// This has to be in here or it complains that row is null, even though records populates row...
model.addAttribute("row", myService.retrieveRecords().get(0));
model.addAttribute("records", myService.retrieveRecords());
return HOME_PAGE;
}
// C.R."U".D.
@RequestMapping(value = "/updateRow", method = RequestMethod.POST)
public String handleUpdateRecordRequest(@ModelAttribute("row") TodoListRecord row, Model model) {
myService.updateRecord(row);
return HOME_PAGE_REDIRECT;
}
// C.R.U."D".
@RequestMapping(value = "/deleteRow", method = RequestMethod.POST)
public String handleDeleteRecordRequest(@ModelAttribute("key") String key, Model model) {
myService.deleteRecord(key);
return HOME_PAGE_REDIRECT;
}