开发者

how to display data in JSTL for list containing objetcs?

In request attribute I have list of objects (say user objects) so how can I loop through it display data on my jsp page? Can I use <c:foreach> but then how I can say that it is User 开发者_运维问答object and access properties of that?


JSTL/EL doesn't care about the exact type. All you need to ensure is that the object in question has a getter method for the given property so that you can just specify the property name.

Imagine,

public class User {

    private Long id;
    private String name;
    private Integer age;

    // Getters/setters.
}

then you can loop over a List<User> like follows:

<table>
    <c:forEach items="${users}" var="user">
        <tr>
            <td>${user.id}</td>
            <td><c:out value="${user.name}" /></td>
            <td>${user.age}</td>
        </tr>
    </c:forEach>
</table>

That's it.

See also:

  • EL tag wiki page
  • Places where JavaBeans are used?


I had an issue calling the object properties with JSTL when injecting with a tag. Adding type="java.lang.Iterable" to the incoming attribute solved the issue.

<%@ attribute name="myList" required="false" type="java.lang.Iterable"%>

So when I called it:

<myTags:tag 
    myList="${Class.list}">
</myTags:tag >
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜