使用Spring 2表单标签,如何在列表中绑定列表

时间:2011-07-20 09:09:49

标签: spring spring-mvc jsp-tags

我有一个对象列表,其中包含对象B列表。

型号:

public class ObjectA implements Serializable {

    private List<ObjectB> objectBs;
}

public class ObjectB implements Serializable {

    private String name;
}

使用getter和setter

DTO:在我的前端控制器中使用Spring MVC 2

public class FrontObject implements Serializable {

    private List<ObjectA> objectAs;
}

使用getter和setter

在我的JSP中(我使用forEach标签添加一些内容,我知道表单: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>

在objectA列表中绑定objectB列表的路径(表单标签复选框)的语法是什么

也许像

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

返回org.springframework.beans.NotReadablePropertyException:无效的属性

2 个答案:

答案 0 :(得分:0)

通常,路径是对象包含的值的名称。在你的情况下,它是“名字”

答案 1 :(得分: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>