Как я могу получить доступ к списку, используя значение другого списка с помощью EL?

#java #jsp #el

#java #jsp #el

Вопрос:

У меня есть два списка. Первый список (numberList) содержит два целых элемента: [1] и [5] Второй список (StringList) содержит десять строк. Я хотел бы использовать EL для отображения первого и пятого элемента второго списка, используя числа 1 и 5, содержащиеся в первом. Я хотел бы написать что-то подобное с использованием EL:

 <c:out value="${stringList[numberList[0]]}" />
<c:out value="${stringList[numberList[1]]}" />
  

Возможно ли это с помощью EL?

Комментарии:

1. Код в порядке, вы разве не пробовали его? Если вы хотите получить первое и пятое вместо [1] и [5], это [0] и [4].

Ответ №1:

Это совершенно допустимо.

Предполагая следующий сервлет

 List<Integer> numberList = Arrays.asList(0, 4);
request.setAttribute("numberList", numberList);
List<String> stringList = Arrays.asList("one", "two", "three", "four", "five");
request.setAttribute("stringList", stringList);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
  

и следующий JSP

 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:out value="${stringList[numberList[0]]}" />
<c:out value="${stringList[numberList[1]]}" />
  

вы должны увидеть это в вашем веб-браузере при вызове сервлета

один пять