如何使用JSTL防止下拉列表中的重复

时间:2014-01-10 05:02:11

标签: java jsp jstl

如何使用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在下拉列表中多次填充?

3 个答案:

答案 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中没有重复项。