#java #jsp #jstl #iteration
#java #jsp #jstl #итерация
Вопрос:
Я получаю список ‘myList’ объектов в jsp. Объекты, которые я получаю, принадлежат, например, ‘MyClass’. Я хочу выполнить итерацию по этому списку через JSTL.
Код JSP приведен ниже :
<c:forEach items="myList" var="element">
<tr>
<td>${element.getStatus()}</td>
<td>${element.getRequestType()}</td>
<td>${element.getRequestedFor()}</td>
<td>${element.getTimeSubmitted()}</td>
</tr>
</c:forEach>
Я получаю исключение :
00000024 WebApp E [Servlet Error]-[/requestHistory.jsp]: com.ibm.ws.jsp.translator.JspTranslationException: JSPG0227E: Exception caught while translating /requestHistory.jsp:
/requestHistory.jsp(31,6) --> JSPG0122E: Unable to parse EL function ${UserProcessRequests.getStatus()}.
Taglib, который я использую, является :
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page isELIgnored="false"%>
Ответ №1:
Произошла ошибка. Смотрите эту строку <c:forEach items="${myList}" var="element">
. ${} вокруг ‘myList’ отсутствовал.
<c:forEach items="${myList}" var="element">
<tr>
<td>${element.status}</td>
<td>${element.requestType}</td>
<td>${element.requestedFor}</td>
<td>${element.timeSubmitted}</td>
</tr>
</c:forEach>
Комментарии:
1. У меня есть сомнение здесь, что такое myList здесь, это имя переменной сеанса?
Ответ №2:
замените его на
`${element.status}`
JSTL будет самостоятельно искать стандартные средства получения и установки