一尘不染

使用JSTL为JSP下拉选择的值

jsp

我在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页面进行插入和更新。当我编辑页面时,如何设置选定值以下拉选定值将来自数据库的位置。


阅读 339

收藏
2020-06-08

共1个答案

一尘不染

在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>
2020-06-08