如何比较两个数组以在jsp中设置html multiselect

时间:2019-01-03 10:22:26

标签: jsp multi-select jsp-tags

我维护了来自数据库的字符串数组中的html multiselect的选定值的列表。我想将这些选定选项的值与完整选择选项列表进行比较,以便将它们设置为在加载屏幕时选定的值。由于循环,我为相同的选择选项不断获取多个实例。

    <select id="selectForm" name="selectForm" multiple="multiple"> 
        <c:forEach items="${FullList}" var="fullList">
            <c:forEach items="${PreSelected}" var="preSelected">                
                <option ${preSelected== fullList.name ? 'selected="selected"' : ''}>${fullList.name}</option>
            </c:forEach> 
        </c:forEach>
    </select>

如何获得具有已选择的存储值的单个唯一选择列表?有没有比我的方法更好的解决问题的方法?

1 个答案:

答案 0 :(得分:0)

尝试此操作,而不是在选项元素之前循环,将循环移动到选项元素内,如下所示。

<select id="selectForm" name="selectForm" multiple="multiple"> 
  <c:forEach items="${FullList}" var="fullList">
    <option 
     <c:forEach items="${PreSelected}" var="preSelected"> 
      <c:if test="${preSelected== fullList.name}">selected</c:if> 
     </c:forEach>
    >${fullList.name}</option>
  </c:forEach>
</select>