我在 Servlet 中有 SortedMap 来填充 JSP 中的下拉值,我有以下代码
SortedMap<String, String> dept = findDepartment();
request.setAttribute("dept ", dept);
并在 JSP 中
<select name="department">
<c:forEach var="item" items="${dept}">
<option value="${item.key}">${item.value}</option>
</c:forEach>
</select>
我正在使用一个 JSP 页面进行插入和更新。当我编辑页面时,如何将选定的值设置为下拉选择的值将来自数据库的位置。
最佳答案
在 HTML 中,所选选项由 selected
的存在表示。 <option>
上的属性像这样的元素:
<option ... selected>...</option>
或者,如果您是 HTML/XHTML 严格的:
<option ... selected="selected">...</option>
因此,您只需要让 JSP/EL 有条件地打印它。前提是您已按如下方式准备了所选部门:
request.setAttribute("selectedDept", selectedDept);
那么这应该做:
<select name="department">
<c:forEach var="item" items="${dept}">
<option value="${item.key}" ${item.key == selectedDept ? 'selected="selected"' : ''}>${item.value}</option>
</c:forEach>
</select>
也可以看看:
关于jsp - 使用 JSTL 为 JSP 下拉列表选择的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15657367/