我在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页面进行插入和更新。当我编辑页面时,我如何将所选值设置为下拉列表,其中所选值将来自数据库。
9条答案
按热度按时间wgx48brx1#
在HTML中,选定的选项由
<option>
元素上的selected
属性表示,如下所示:或者,如果您对HTML/XHTML比较严格:
因此,您只需要让JSP/EL有条件地打印它。前提是您已经准备好了所选部门,如下所示:
那么这应该可以:
另请参阅:
uqzxnwby2#
我试了一下桑迪普·库马尔的最后一个答案,我发现更简单:
r7knjye23#
如果您不介意使用jQuery,可以使用下面的代码:
在Servlet中添加以下内容:
7lrncoxx4#
我认为上面的例子是正确的。但是你不需要设置
您可以重用来自JSTL信息,只需执行以下操作..
r6l8ljro5#
我试了一下公认的答案,它没有工作。
然而,简单的方法是这样做的:-
好好享受吧!
lrpiutwd6#
您可以尝试一个更简单的方法:
mitkmikd7#
也许我并不完全理解这个公认的答案,所以它对我不起作用。
我所做的只是检查变量是否为空,并将其赋给数据库中的一个已知值。
因为未选择任何选项,因此item = null
这样,如果用户选择了另一个选项,我的IF子句将不会捕获它并将其赋值给在开始时声明的固定值。
fwzugrvs8#
下面是使用jstl标记的简单下拉列表示例
bkhjykvo9#
这些答案都不适用于strict XHTML。我使用的是Spring 4和Tiles,所有当前的答案都生成错误。
经过多次试验和错误,我终于得到了它的工作,我能够放弃我的javascript黑客干预后,页面加载: