如何使用JSTL防止下拉列表中的重复。
<select class="abc" name="folder" >
<c:forEach items="${model.abc}" var="folder" varStatus="status">
<option value="${folder}">${folder}</option>
</c:forEach>
</select>
假设我的模型对象abc有一些数据,如:
文件夹:“abc”,“bcd”,“abc”
如何防止abc在下拉列表中多次填充?
答案 0 :(得分:2)
在后端准备列表(不重复)并显示它。
答案 1 :(得分:2)
在您的视图中放置(甚至是最小的)业务逻辑永远不是一个好主意。 MVC视图部分的职责是为最终用户生成视图!没有处理,没有涉及业务逻辑。
所以我建议你在业务逻辑端处理重复,然后在视图上发送无重复列表并显示它
答案 2 :(得分:2)
最好删除Java代码中的重复项并将唯一列表返回给Jsp。
如果您的对象abc
是一个ArrayList,请将其转换为Set并再次返回List
众所周知,Set不允许重复,列表中的所有重复项都将被删除。
示例代码:
List<String> abc=new ArrayList<String>();
abc.add("abc");
abc.add("def");
abc.add("abc");
abc = new ArrayList<String>(new HashSet<String>(abc));
结果:abc
中没有重复项。