例如:
private List<PropertyContact> contactsList = LazyList.decorate(new ArrayList<PropertyContact>(), PropertyContact.PROPERTY_CONTACT_FACTORY);
public static final Factory PROPERTY_CONTACT_FACTORY = new Factory() {
@Override
public Object create() {
return new PropertyContact();
}
};
然後你就可以顯示/編輯列表在你的JSP像這樣:如果你想要的元素添加到列表中
<c:forEach items="${profileForm.contactsList}" var="contact" varStatus="contactSta">
<html:hidden styleClass="contact-id" property="contactsList[${contactSta.index}].id"/>
</c:forEach>
,請確保您設置一個高於最大值的索引。例如,如果我的列表中包含3個元素,新一(四)看起來像這樣:(記住是基於零索引列表)
<input style="hidden" styleClass="contact-id" property="contactsList[3].id"/>
當表單提交,刪除任何列表元素將設置在特定索引處爲null。例如,假設用戶刪除第二個元素,我將在服務器上看到:
contactsList.get(1) == null;//remember that list are zero-index based
您能分享一些代碼(您的jsp和您的操作方法刪除)嗎? – CoolBeans 2010-08-31 17:11:58