【发布时间】:2014-04-26 10:02:45
【问题描述】:
我正在开发一个 Sprin MVC 应用程序,并且我有一个表单,其中包含一个 UI jsp (welcome.jsp) 中的表格,当单击提交按钮时,我试图将表单中的数据打印到Web 应用程序控制台。从那里我打算解析选中的复选框,然后让控制器将“选中”数据发送回数据库,以更新到应用程序流中的下一个状态。
到目前为止,表单是“成功”发布的,因为没有抛出错误或异常,但控制台中的打印语句是空白的,这让我认为没有发送任何数据,我非常欢迎任何帮助解决这个问题。
这是我所拥有的设置,不是实际代码,而是元素和方法的粗略设置。
welcome.jsp:
<form action="<c:url value="/postPage" />"method="post" modelAttribute="rTable">
<br/>
<table>
<thead>
<tr>
<th>title1</th>
<th>title2</th>
<th>title3</th>
<th><select>
<option>option1</option>
<option>option2</option>
</select></th>
</tr>
</thead>
<tbody>
<tr>
<td>value1</td>
<td>value1</td>
<td>value1</td>
<td><input type="checkbox" value="row_data_id" /></td>
</tr>
</tbody>
<tfoot>
<tr><td colspan="4"></td>
</tfoot>
</table>
<br/>
</form>
我的控制器中包含以下方法,并导入了所有必要的库:
controller.java
@RequestMapping(value="/postPage", method = RequestMethod.POST)
public String processUpdate(@ModelAttribute("rTable") String table, ModelMap model) {
System.out.println(table);
return "postPage";
}
打印的控制台是这样的:
.
.
.
[3/19/14 16:36:53:625 EDT] 0000006a SystemOut O
.
.
.
有谁知道为什么这不打印任何东西?我真的没有成功向控制器发送任何东西吗?
【问题讨论】:
-
您希望
table具有什么价值?这里有一些你似乎不明白的严重事情:你如何提交表单以及它们是如何提交的,什么是请求参数,@ModelAttribute是什么,HTML 的form和 Spring 的<form>标签之间的区别库。 -
我希望表格在按下提交按钮时保持表格的当前状态。我是新手,所以如果我弄错了,请与我裸露。表单中的表是使用带有必要数据和 JSTL 标记的 bean 填充的。假设用户选中复选框,然后单击提交。从提交中,我想获取与复选框关联的数据并将其传递回 bean 或控制器,以便可以使用它来更新数据库。我以为这就是我正在做的,但我想不是。任何提示、指南或任何形式的帮助都会很棒。
-
与其他人一起审查后。除了我之前所说的之外,我还发现了这一点。表单中的每个复选框都有一个与之关联的 ID。该 id 唯一地对应于其行中的数据。我需要了解如何获取标题行中选择框的值和选定复选框的 id 值到要发送到控制器以通过 jdbc 或休眠更新数据库。
标签: java html forms jsp spring-mvc