【问题标题】:JSTL iterate over list of objectsJSTL 遍历对象列表
【发布时间】:2011-08-19 02:07:21
【问题描述】:

我在 jsp 中得到一个对象列表“myList”。我得到的对象属于例如“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"%>

【问题讨论】:

    标签: java jsp jstl iteration


    【解决方案1】:

    有一个错误。请参阅此行&lt;c:forEach items="${myList}" var="element"&gt;。 '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>
    

    【讨论】:

      【解决方案2】:

      替换为

      `${element.status}`
      

      JSTL 会自行寻找标准的 getter setter

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多