JSTL перебирает список объектов - PullRequest
28 голосов
/ 05 мая 2011

Я получаю список «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"%>

Ответы [ 2 ]

61 голосов
/ 05 мая 2011

Ошибка. Смотрите эту строку <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>
13 голосов
/ 05 мая 2011

замените его на

`${element.status}`

JSTL будет самостоятельно искать стандартные методы получения геттеров

...