Плохие петли с JSP - PullRequest
0 голосов
/ 30 мая 2018

Попытка обойти 2 массива и сравнить, равны ли сущности для установки «выбранного» свойства

Требуется что-то вроде этого:

enter image description here

И я получил это:

enter image description here

В коде: items = "$ {listadoPaises}" var = "pais" is allCountries (allPaises) items = "$ {divisa.paises}" var = "paisoption" - это страны, которые я хочу проверить

<select multiple id="paisesSeleccionados" name="paisesSeleccionados">
    <option value="" disabled>País</option>
        <c:forEach items="${listadoPaises}" var="pais">
            <c:forEach items="${divisa.paises}" var="paisoption">

                <c:choose>
                    <!-- If the id is equal, set the SELECTED property -->
                    <c:when test="${pais.idpais==paisoption.idpais}">

                        <option selected value="${pais.idpais}" data-icon="${pageContext.request.contextPath}/resources/flags/${pais.siglas}.png">
                            ${pais.nombre}
                        </option>
                    </c:when>
                    <!-- Else, not setting the property -->
                    <c:otherwise>

                        <option value="${pais.idpais}" data-icon="${pageContext.request.contextPath}/resources/flags/${pais.siglas}.png">
                            ${pais.nombre}
                        </option>
                    </c:otherwise>
                </c:choose>

            </c:forEach>
        </c:forEach>
</select>

Должно быть, это небольшая ошибка, может быть, это легко, но яЯ становлюсь совершенно сумасшедшим.Спасибо, ребята.

1 Ответ

0 голосов
/ 30 мая 2018

Я понял.Мне пришлось добавить новый тег <% и <% = выражение с выбранной строкой, чтобы исправить это.Вот код: </p>

<select multiple id="paisesSeleccionados" name="paisesSeleccionados">
    <option value="" disabled>País</option>

    <c:forEach items="${listadoPaises}" var="pais">
        <% String selected=""; %>
        <c:forEach items="${divisa.paises}" var="paisoption">

            <c:if test="${pais.idpais==paisoption.idpais}">
                <% selected="selected"; %>
            </c:if>

        </c:forEach>  
        <option <%= selected %> value="${pais.idpais}" data-icon="${pageContext.request.contextPath}/resources/flags/${pais.siglas}.png">${pais.nombre}</option>        
    </c:forEach>

</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...