如何在JSTL中显示包含对象的列表的数据?

时间:2011-08-19 10:10:49

标签: jsp jstl el

在请求属性中,我有对象列表(比如用户对象),那么如何在jsp页面上循环显示数据呢?我可以使用<c:foreach>但是我怎么能说它是用户对象和访问属性?

2 个答案:

答案 0 :(得分:4)

JSTL / EL并不关心确切的类型。您需要确保的是,有问题的对象具有给定属性的getter方法,以便您只需指定属性名称。

试想,

public class User {

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

    // Getters/setters.
}

然后您可以循环遍历List<User>,如下所示:

<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>

就是这样。

另见:

答案 1 :(得分:0)

在注入标签时,我遇到了使用JSTL调用对象属性的问题。将type="java.lang.Iterable"添加到传入属性即可解决此问题。

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

所以当我叫它:

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