我在使用spring mvc更新表单时遇到了一个小问题。
以下是我的代码段
<form:form name="personInfo" method="post" modelAttribute="person">
<td class="empty"></td>
<td class="editablefields">Football:</td>
<td class="value">
<c:forEach items="${person.gameList}" var="game" varStatus = "count">
<c:if test="${game.code == 'FB'}">
<form:textarea path="gameList[${count.index }].value" id="" />
</c:if>
</c:forEach>
</td>
</form:form>
提交表单后,游戏值在post方法中得到更新,但game.code将变为null。
请解释为什么会这样?
答案 0 :(得分:1)
您的标记需要提供person
及其code
属性之间的映射。否则,code
中的值将不会包含在处理程序方法的HTTP请求中。尝试将循环更改为:
<c:forEach items="${person.gameList}" var="game" varStatus = "count">
<c:if test="${game.code == 'FB'}">
<form:textarea path="gameList[${count.index }].value" id="" />
<form:hidden path="gameList[${count.index }].code" value="${game.code}"/>
</c:if>
</c:forEach>