[英]pass list of complex objects to controller
我有一个项目列表(列表),我通过获取请求将其传递到JSP页面。
@RequestMapping(value="value", method = RequestMethod.GET)
public void getItems(ModelMap model) {
List<Item> items = itemDataService.getItems();
model.addAttribute("items", items);
}
JSP看起来像这样:
<form method="POST">
<div id=itemsList>
<div class="box">
<table class="display" width="100%">
<theader>
<th>Item Name</th>
<th>Item Description</th>
<th>Accept Setting</th>
</theader>
<tbody class="list">
<c:forEach var="item" items="${items}" varStatus="loopStatus">
<tr>
<td> ${item.name}</td>
<td>${item.description}</td>
<td><input type="checkbox" id="chkbox" /></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<input type="submit" value="Save Items">
</form>
我现在想做的是,当我点击表单的“提交”按钮时,我想将项目列表传递回控制器。 我的问题是我不确定如何命名该节中的字段,以便将每个表行都视为一个项目,以及如何确保将这些项目作为列表发送到控制器。
到目前为止,控制器中的POST方法如下所示:
@RequestMapping(value="value", method = RequestMethod.POST)
public void onSubmit(ModelMap model) {
System.out.println("##################### FORM SUBMIT");
}
到目前为止,提交表单时触发POST操作仍然有效,但是如何传递数据? item类本身具有用于名称和描述以及复选框值的getter和setter ...
尝试使用弹簧form
标签。
希望他们有各自的setter和getter方法,
<form:form method="post" action="update" modelAttribute="Objectname">
<div id=itemsList>
<div class="box">
<table class="display" width="100%">
<theader>
<th>Item Name</th>
<th>Item Description</th>
<th>Accept Setting</th>
</theader>
<tbody class="list">
<c:forEach var="item" items="${items}" varStatus="loopStatus">
<tr>
<td> ${item.name}</td>
<td>${item.description}</td>
<td><input type="checkbox" id="chkbox" /></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<input type="submit" value="Save Items">
</form:form>
在控制器中
@RequestMapping(value="value", method = RequestMethod.POST)
public void onSubmit(@ModelAttribute ModelClass Objectname) {
Objectname.getterMethod();
System.out.println("##################### FORM SUBMIT");
}
希望这可以帮助 !!
您在Java中有一个列表,该列表要发送到JSP,然后再将同一列表发送回Java,对吗? 如果我的理解是正确的,我建议您在传递给JSP之前(即在getItems方法中)将列表存储在会话范围中,当在JSP中提交表单时,请从onSubmit方法中的session属性获取列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.