user1514499
user1514499

Reputation: 771

Unable to iterate arraylist in jsp using jstl

In my application, I need to display the name list. I tried the following.

  <c:forEach items="${list}" var="lists">
    <tr>
      <td><c:out value="${lists.firstName}" /><td>
      <td><c:out value="${lists.lastName}" /><td>
    </tr>
  </c:forEach>

Following is my controller code (spring-mvc)

List<Person> list = personDao.getAllNames();
model.addAttribute("list", list);

I am getting the below exception Can anyone please help me in fixing this?

org.apache.jasper.JasperException: /WEB-INF/pages/personList.jsp (line: 5, column: 1) Attribute value invalid for tag forEach according to TLD
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:237)
    org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1260)
    org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)
    org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

Upvotes: 0

Views: 2299

Answers (1)

user1514499
user1514499

Reputation: 771

I have changed the order or 'var' and 'items'. And it works fine now.

<c:forEach var="lists" items="${list}">
    <tr>
      <td><c:out value="${lists.firstName}" /><td>
      <td><c:out value="${lists.lastName}" /><td>
    </tr>
  </c:forEach>

Upvotes: 1

Related Questions