我在数据库中有一个带有location_id和location_name列的位置表,使用该表我在UI上显示输入字段。如果位置表中有5条记录,那么UI中将呈现5个输入字段。
我面临的问题是:
编辑UI上的位置,并将更改持久化到数据库中。出现的输入字段的数量将随时决定。
<c:forEach var="technologyLocation" items="${model.technologyLocationList}">
<input type="text" name="location" value="${technologyLocation.location}">
</c:forEach>
传统的更新方式是在服务器端获取更新后的请求参数值,并将其保存在数据库中。但是,当所有输入字段都是动态的或任何其他方法时,我如何实现它?我正在使用springMVC。如有任何建议,我们将不胜感激。
感谢
您为所有输入提供了相同的名称,因此它们被映射到相同的变量中并相互覆盖。
如果你这样做:
<c:forEach var="technologyLocation" items="${model.technologyLocationList}"
varStatus="status">
<input type="text" name="location[${status.index}]"
value="${technologyLocation.location}" />
</c:forEach>
您将在HTML中获得具有名称属性location[0]
、location[1]
等的<input>
标记。Spring会自动将它们映射到List
中。
这是一个包含更多解释的教程。