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 >
精彩评论