搜索和搜索後,我還沒有找到解決方案。彈簧3.1窗體和列表綁定
使用Spring 3.1
我有一個表格,我希望用戶能夠添加聯繫人(POC)的多點。在我的JSP中,我有一個用於添加poc的提交按鈕。它轉到Spring Controller,從域對象(最初將爲空)獲取當前poc列表,將poc添加到列表中,然後在返回到相同視圖之前將域對象放回到模型中。然後,用戶將最終提交整個頁面,該頁面將轉到控制器並將整個對象保存爲持久性。
我已經嘗試了各種嘗試,並提出了不同的結果,只能添加一個新的覆蓋現有的一個poc,無法獲得輸入的poc顯示在窗體上。我將把我現在的代碼。
JSP:
<form:form method="post" commandName="request">
...
<h2>POC:</h2>
<input type="text" name="newPoc"/>
<input type="submit" name="addPoc" value="Add POC"/>
<table>
...
<c:forEach items="${request.pointOfContacts}" var="poc" varStatus="vs">
<tr>
<td><form:label path="pointOfContacts[${vs.index}].name/></td>
.....
</c:forEach>
......
</table>
</form:form>
春控制器:
@RequestMapping(value="/request", method=RequestMethod.POST, param="addPoc")
public Sring addPoc(@RequestParam String newPoc, MyRequest req, Model model) {
PointOfContact poc = new PointOfContact();
poc.setName(newPoc);
List<PointOfContact> pocs = req.getPointOfContacts();
pocs.add(poc);
req.setPointOfContacts(pocs);
model.addAttribute("request", req);
return "requestForm";
}
域對象
@Entity
public class MyRequest {
...
@OneToMany(Cascade=CascadeType.ALL)
private List<PointOfContact> pointOfContacts = new ArrayList<PointOfContact>();
.....
}
@Entity
public class PointOfContact {
...
private String name;
....
}
沒有任何人有任何解決方案?我看過關於AutoPopulateList的各種帖子,這是一個解決方案嗎?如果是這樣的話,我將如何在這個例子中使用它。
控制器的完整代碼是什麼?你使用@SessionAttributes嗎? – 2012-07-13 13:50:44