当绑定元素出现错误时,Spring MVC 会清除 status.value 吗? 如果是这样,如何使用 Status 元素检索值?
所以我有这个:
<c:forEach var="field" items="${fieldList}">
<spring:bind path="myBean.${field.fieldName}">
<input type="text" class="text" name="${status.expression}" value="${status.value}" />
<span id="${status.expression}Error" class="error">
<c:forEach items="${status.errorMessages}" var="error">
<c:out value="${error}" />
</c:forEach>
</span>
</spring:bind>
</c:forEach>
但是每次field
包含验证错误时,输入${status.value}
的值都会null
。我确信它在那里,因为通过${myBean.fieldName}
访问可以完成这项工作。但我的问题是因为我正在做的迭代,我不能那样做。
我终于明白了。我没有使用 ${status.value}
而是使用 ${myBean[field.fieldName]}
直接访问字段值。
<c:forEach var="field" items="${fieldList}">
<spring:bind path="myBean.${field.fieldName}">
<input type="text" class="text" name="${status.expression}" value="${myBean[field.fieldName]}" />
<span id="${status.expression}Error" class="error">
<c:forEach items="${status.errorMessages}" var="error">
<c:out value="${error}" />
</c:forEach>
</span>
</spring:bind>
</c:forEach>