2014-10-06 40 views
2

我是JSP和servlet的新手。JSP頁面顯示收集日期

我想從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

+0

你可以檢查用戶bean getter和setter中的拼寫錯誤嗎? – 2014-10-06 17:45:44

+0

我是否需要使用getter setter或只是字段名稱 – 2014-10-06 18:09:39

+0

試過,但也沒有工作 – 2014-10-06 18:13:56

回答

0

Ohk我得到的解決方案,

我不知道原因,但jsp文件要求我把這一行代碼。爲了標記庫工作

<%@ page isELIgnored="false" %> 
1

變化

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

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

因爲<%=list%>它輸出的價值就在那裏,你不jsp需要List<User>參考

+0

我試過,但也沒有工作 – 2014-10-06 18:03:51

+0

你能告訴我你的意思是什麼沒有工作 – 2014-10-06 18:04:49

+0

它沒有迭代循環,也沒有顯示數據,它只是打印任何內部的C標籤一次 – 2014-10-06 18:06:31