0
我有一張桌子,在那裏我會有多行輸入文本框。在編輯時,我可以編輯這些值,這些編輯的值必須在點擊提交按鈕後保存。我有一個在我的表單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
}
}
如何reinitalize名單?
我該怎麼做?所有的行將被填充到一起。而且我沒有初始化控制器或表單bean中的列表。它只是通過路徑變量以下面的形式訪問:輸入。 – JaveDeveloper