以下是场景:我有类似的东西......
<form:select path="somePath" .....>
<form:option value="" label="Please Select"/>
<form:options items="${students}" itemValue="id" itemLabel="name"/>
</form:select>
此下拉列表工作正常。
但是如何显示特定学生的姓名?我想做这样的事情:
<c:out value="${students[id].name}"/>
任何人都可以帮我解释语法吗?
由于
答案 0 :(得分:2)
我假设${students}
是学生对象的数组或列表。因此,它没有被id索引,也不能直接以这种方式访问。
选项包括:
1)将您的学生集合作为从id到学生对象的地图;然后,您的items
属性变为${students.values}
,然后您可以将个别学生查找为${students[id]}
。
2)或者,将其保存为列表,然后遍历列表并找到id匹配的列表:
<c:forEach var="student" items="${students}">
<c:if test="${student.id==id}">
<c:out value="${student.name}" />
</c:if>
</c:forEach>
3)或者,最后,如果您从一开始就知道您关心哪位学生,请将该学生分别包含在参考数据中。