Сравнить элементы двух списков в JSP и скрыть поля на основе сравнения - PullRequest
1 голос
/ 03 марта 2020

У меня есть два списка. Оба имеют строковые сообщения. Список A содержит все сообщения, список B содержит несколько сообщений, которые присутствуют в списке A. Я перебираю список A и список B. Пытаюсь сравнить и распечатать сообщения на основе сравнения. Если сообщение списка присутствует в обоих списках, я скрываю его, пока оно отображается. Пользовательский список дает ключ, который передается методу для получения полного сообщения. Оба сообщения в списке одинаковы, но сравнение не работает должным образом. Пожалуйста, предложите.

Фрагмент кода ниже:

           for(String testMsg:testPages.get(testAlertPage)){

                for(int i=0; i < customList.size(); i++){ 
                    if(testMsg.equals(retrieve(customList.get(i)))){

                        %>
                        <p class="paragraph" style="display:none"><%=testMsg %></p><br>
                   <%                   
                    }else{
                    %>
                        <p><%=testMsg %></p><br>
                   <%                              
                    }
                    }

                %>

            }

1 Ответ

1 голос
/ 03 марта 2020

С помощью этих вложенных циклов вы сравниваете каждое сообщение в первом списке с всеми сообщениями в customList и отображаете их, если сообщение отличается от любого элемента . Вместо этого для каждого сообщения вы должны отображать его только в том случае, если оно существует в customList:

<%
for (String testMsg : testPages.get(testAlertPage)) {
    if (customList.contains(testMsg) { 
 %>
     <p class="paragraph" style="display:none"><%=testMsg %></p><br>
<%                   
    } else {
%>
    <p><%=testMsg %></p><br>
<%
    }
%>

Примечание: Возможно, вам лучше заменить customList на Set для лучшего производительность.

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