解决下拉列表框默认选中值的问题
情景:当修改学生信息时,班级编号用下拉列表框实现,默认选中的是当前学生所在的班级
实现:
UpdateTime--2017年1月6日15:22:04
<!-- 新方法 --> <select name="CLAZZID"> <c:forEach items="${model.clazzId}" var="clazzId"> <!-- 如果下拉列表框的值与当前学生的班级编号相同,则添加给该option标签添加selected属性 --> <option value="${clazzId.CLAZZID}" <c:if test="${clazzId.CLAZZID==model.student[0]['CLAZZID']}">selected="selected"</c:if>> ${clazzId.CLAZZID} </option> </c:forEach> </select>
<!-- 旧方法 --> <select name="CLAZZID"> <c:forEach items="${model.clazzId}" var="clazzId"> <c:if test="${clazzId.CLAZZID==model.student[0]['CLAZZID']}"> <option value="${clazzId.CLAZZID}" selected="selected">${clazzId.CLAZZID}</option> </c:if> <!-- 不相同,不添加selected属性 --> <c:if test="${clazzId.CLAZZID!=model.student[0]['CLAZZID']}"> <option value="${clazzId.CLAZZID}">${clazzId.CLAZZID}</option> </c:if> </c:forEach> </select>
说明:model是一个Map集合;clazzId是该Map集合的一个元素,它自身是;另一个Map对象封装成的List集合;
student也是一个List集合,该集合里有且只有一个Map集合
注意事项:
1.如果是直接获取某个集合中对象的属性,直接这样:model.student[0].CLAZZID;
表示的含义是:获取键为model的Map集合的中的键为student的List集合的0号元素Map对象键为CLAZZID的值
2.option 标签使用时,一定不要忘了添加value属性;
3.select标签使用时,不要忘了添加name属性,form表单提交是根据name获取值的;这里获取的是select标签下属的被selected修饰的option标签的value的值