2011-07-20 8 views
2

リストにリストをバインドすることができは、どのように私は、オブジェクトBのリストを持つオブジェクトAのリストを持つオブジェクトを持っている

モデル:

public class ObjectA implements Serializable { 

    private List<ObjectB> objectBs; 
} 

public class ObjectB implements Serializable { 

    private String name; 
} 

とゲッターとセッター

DTO:Spring MVCの2

と私のフロントエンドコントローラで使用構文は何

<c:forEach items="${objectAsList}" var="item"> 
    <!-- it works --> 
    <form:checkbox path="objectAs" value="${item}"/> 

    <c:forEach items="${item.objectBs}" var="itemB"> 
     <!-- whats the path? --> 
     <form:checkbox path="????" value="${itemB}" /> 
    </c:forEach> 
</c:forEach> 

:ゲッターとセッター私のJSP(:チェックボックスタグ私はサムスのものを追加するためにはforEachタグを使用して、私はフォームを知っている)で

public class FrontObject implements Serializable { private List<ObjectA> objectAs; } 

objectAのリストのobjectBのリストをバインドするパス(フォームタグチェックボックスの)

<form:checkbox path="objectAs.objectBs" value="${itemB}" /> 

戻りorg.springframework.beans.NotReadablePropertyException:無効なプロパティ

答えて

0

通常、パスがあなたのオブジェクトに含まれる値の名前です。あなたのケースでは、それは "名前"

+0

ありません!それはリストのリストです。 1つのリストではない! – BasicCoder

+0

"itemB.name"で試してみませんか? – lookfire

0

だ私はそれが

<form:checkbox path="objectAs.objectBs.name" value="${itemB.name}" /> 

または多分ことができると思います:

<c:forEach items="${item.objectBs}" var="itemB" varStatus="i"> 
     <form:checkbox path="objectAs.objectBs[i.index].name" value="${itemB.name}" /> 
    </c:forEach> 
関連する問題