С тегами формы Spring 2, как можно связать список в списке - PullRequest
2 голосов
/ 20 июля 2011

У меня есть объект со списком объекта A со списком объекта B.

Модель:

public class ObjectA implements Serializable {

    private List<ObjectB> objectBs;
}

public class ObjectB implements Serializable {

    private String name;
}

с геттерами и сеттерами

DTO: используется в моем внешнем контроллере с Spring MVC 2

public class FrontObject implements Serializable {

    private List<ObjectA> objectAs;
}

с геттерами и сеттерами

В моем JSP (я использую тег forEach для добавления чего-либо, я знаю тег form: checkboxes):

<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>

Каков синтаксис для пути (тега formфлажок) для привязки списка объекта B к списку объектов A

Может быть что-то вроде

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

Возврат org.springframework.beans.NotReadablePropertyException: Неверное свойство

Ответы [ 2 ]

0 голосов
/ 23 июля 2011

Я думаю, это может быть

    <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>
0 голосов
/ 20 июля 2011

Обычно путь - это имя значения, содержащегося в вашем объекте. В вашем случае это "имя"

...