spring-mvc绑定arraylist的形式

时间:2010-05-05 07:20:43

标签: jsp spring-mvc

在我的控制器中,我将一个ArrayList添加到我的模型中,其属性名称为“users”。

现在我环顾四周,这是我找到的方法(包括这里的问题):

<form:form action="../user/edit" method="post" modelAttribute="users">
            <table>
                <c:forEach var="user" items="${users}" varStatus="counter">
                    <tr>
                        <td>
                                <form:input path="users[${counter.index}].age"/>
                        </td>
                        <td><button type="submit" name="updateId" id="Update" value="${user.id}">Update</button></td>
                    </tr>
                </c:forEach>
            </table>
        </form:form>

但是当我加载JSP页面时,我得到了:

  

.springframework.beans.NotReadablePropertyException:   bean的属性'projects [0]'无效   class [java.util.ArrayList]:Bean   property'users [0]'不可读或   有一个无效的getter方法:是吗?   getter的返回类型匹配   setter的参数类型?

所以很有可能这不是要走的路,但是在这种情况下如何绑定一个arraylist以便我可以编辑这些值?

1 个答案:

答案 0 :(得分:1)

请尝试以下代码:

<c:forEach var="user" items="${users}">
    <tr>
            <td><c:out value="${users.age}"/></td>
    </tr>
</c:forEach>

并确保您在请求范围内有用户arraylist 。或者使用添加以下代码:

<jsp:useBean id="users" scope="request" type="java.util.Collection" />