好的,所以我使用下面的代码在我的页面上显示了一个下拉列表:
<form:select path="subject.subjectId"
items="${subjectList}" itemValue="subjectId" itemLabel="name" />
如下所示的html完美呈现,并且在提交表单时控制器上的数据可用。
<select id="subject.subjectId" name="subject.subjectId">
<option value="1">Japanese</option>
<option value="2">Chinese</option>
<option value="3">Maths</option>
<option value="4">Science</option>
<option value="5">English</option>
<option value="6">Geography</option>
</select>
我面临的唯一问题是,在呈现页面时没有发生数据绑定,即value = 5未设置为&#39; selected&#39;即使subject.subjectId = 5,也会呈现页面。
我知道可能的工作如下,但这不是一个优雅的解决方案
<!-- <form:select path="subject.subjectId" items="${subjectList}" itemValue="subjectId" /> -->
<form:select path="subject.subjectId">
<c:forEach var="subject" items="${subjectList}">
<option value="${subject.subjectId}"
<c:if test="${subject.subjectId eq record.subject.subjectId}">selected="selected"</c:if>>
<c:out value=" ${subject.name}"/>
</option>
</c:forEach>
</form:select>
任何帮助都将不胜感激。
答案 0 :(得分:0)
所以我在互联网here
上看到相同的示例代码时想出来了虽然我的表单选择标记的语法是正确的,但我需要执行以下操作
a)返回一个&#39;命令&#39;来自控制器的ModelAndView中的对象。
b)删除&#39; modelAttribute&#39;来自jsp的属性
现在spring mvc表单:select数据绑定工作正常。