【发布时间】:2015-09-22 10:11:47
【问题描述】:
我有一个表格,其中我将有多个带有输入文本框的行。在编辑时,我可以编辑这些值,并且必须在单击提交按钮时保存这些编辑的值。我在表单 bean 中定义了一个列表变量,这个列表用于输入变量的路径。我能够在我的控制器中获取列表值,但它有问题。每次迭代后,必须重新初始化列表,以便值不会一直附加在同一个列表中。例如:对于第 1 次迭代,我有 10 个输入文本,我只需要提交的那些。但是现在所有值都被附加到同一个列表中。
这是我的jsp表单:
<form:form id="fee" method="post" modelAttribute="clientForm" commandName = "clientForm"
action="<%= request.getContextPath().toString()%>/addFee.do">
<TABLE>
<tr>
<c:forEach var="type" items="${clientInfo}" varStatus="status">
<td><form:checkbox class="editable${ifeeCount}" path="includeFeeValue" value="false"/> </td>
<td>feeType<c:out value = "${status.index}"/></td>
<td>Source Fee<c:out value = "${status.index}"/></td>
<td><form:input class="editable${ifeeCount}" disabled="true" path="overriddenFee" /></td>
<td><form:errors path="overriddenFee" cssClass="error" /></td>
</c:forEach>
</tr>
</TABLE>
这是我的控制器中用于从列表中检索值的代码:
@RequestMapping(value="/addFee.do",method = RequestMethod.POST)
protected @ResponseBody ModelAndView selectValues(@ModelAttribute("clientForm") MyForm MyForm ) throws Exception {
MyForm = new MyForm();
if(null != MyForm.getOverriddenFee() && MyForm.getOverriddenFee().size() > 0) {
for(int k=0;k<MyForm.getOverriddenFee().size();k++){
if(MyForm.getOverriddenFee().get(k) != " ")
System.out.println("Overridden fee : "+MyForm.getOverriddenFee().get(k)+ " of "+k); //Should print only 10 values for the 10 input text boxes I've in that iteration
}
}
如何重新初始化列表?
【问题讨论】:
标签: java spring spring-mvc jstl jsp-tags