FaxForm
komut nesnesine sahibim ve faxStatusList
özelliğinde FaxStatus
nesnenin bir listesini tutuyor.Spring'in form etiketi ile dinamik olarak bağlanan listeler
<c:forEach items="${esaFaxForm.faxStatusList}" var="item" varStatus="loop">
<tr class="tableAltBackground">
<td>
<form:checkbox path="faxStatusList[${loop.index}].selected"/>
</td>
<td>
<form:select path="faxStatusList[${loop.index}].status" items="${esaFaxForm.statusOptions}" onchange="checkThisBox(this);"/>
</td>
<td>
<a href="${statusContUrl}?id=${item.id}&status=${item.status}" onclick="openFaxWindow('${viewFaxUrl}?id=${item.id}', ${loop.index});">${item.name}</a>
<form:hidden path="faxStatusList[${loop.index}].name"/>
</td>
<td>
<a href="${statusContUrl}?id=${item.id}&status=${item.status}" onclick="openFaxWindow('${viewFaxUrl}?id=${item.id}', ${loop.index});">${item.id}</a>
<form:hidden path="faxStatusList[${loop.index}].id"/>
</td>
</tr>
</c:forEach>
Ancak, ben forEach döngü ve endeks olmadan bağlanmasını yapabileceğini anlamaya çalışıyorum:
public class FaxForm {
private List<FaxStatus> faxStatusList;
public void setFaxStatusList(List<FaxStatus> faxStatusList) {
this.faxStatusList = faxStatusList;
}
public List<FaxStatus> getFaxStatusList() {
return faxStatusList;
}
}
Başlangıçta aşağıdaki gerçekleştirerek nesneleri bağlamak olacak bir JSP sayfası vardı . Spring web sitesindeki örnekler, liste adına giden yolu ayarlayarak bağlamayı gösterir. Özellikleri bağlamak için bir yolu var mı? Bu denedim ama başarısız:
<form:checkbox path="faxStatusList.faxStatus.selected"/>
<form:select path="faxStatusList.faxStatus.status" items="${esaFaxForm.statusOptions}"/>
faxStatusList bir alıcı ve ayarlayıcı yöntemi ve her alıcı/ayarlayıcı özelliklere sahip FaxStatus değişken yok. Ben hata sınıfı "geçersiz özellik 'faxStatusList.faxStatus' fasulye sınıfı ..." olsun "
faxStatusList, dizinlenmiş bir özelliktir. Yani faxStatusList.faxStatus gibi bir şey kullanamazsınız. Bunun yerine faxStatusList [] sayfasını kullanın. –
Aslında mevcut kodunuzu yanıt olarak seviyorum çünkü büyük bir esneklik sunuyor. – Steve