JSP页面显示来自集合的日期

时间:2014-10-06 17:33:09

标签: java jsp servlets jstl

我是JSP和servlet的新手。

我正在尝试从servlet获取列表,并希望将这些数据显示在JSP页面中。

这就是我做的事情

我的Servlet课程

List<User> list = friendsDao.getFirendsList(user.getEmail());
System.out.println("List Size:"+list.size());
req.setAttribute("list", list);
getServletContext().getRequestDispatcher("/home.jsp").forward(req, resp);

我的JSP页面

我添加了此标记库

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

以下是我正在做的迭代数据

<table>
    <c:forEach var="friend" items="${list}">
        <tr>
            <td><c:out value="${friend}" /></td>
            <td><c:out value="${friend.email}" /></td>
        </tr>
    </c:forEach>
</table>

但这不起作用

但是当我想要这样的东西时

<%
    }
    List<User> list = (List<User>) request.getAttribute("list");
%>


    <table>
        <c:forEach var="friend" items="<%=list%>">
            <tr>
                <td><c:out value="${friend.name}" /></td>
                <td><c:out value="${friend.email}" /></td>
            </tr>
        </c:forEach>
    </table>

这也不起作用,但它在列表中迭代循环到数据的大小。 但在浏览器中打印

$ {friend.name} $ {friend.eamil}

我怎样才能拥有实际值。 请帮帮我。

谢谢, Nixit

2 个答案:

答案 0 :(得分:1)

更改

    <c:forEach var="friend" items="<%=list%>">

    <c:forEach var="friend" items="${list}">

因为<%=list%>正在输出值,并且您不需要在List<User>中引用jsp

答案 1 :(得分:0)

哦,我得到了解决方案,

我不知道原因,但是jsp文件要求我放一行代码。为了标记库工作

<%@ page isELIgnored="false" %>