在我的控制器中,我将一个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以便我可以编辑这些值?
答案 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" />