2016-05-30 50 views
0

喜每個人都可以在任何幫助我...如何將servelet數組列表傳遞給jsp表?

我想列出從數據庫和顯示所有的數據把jsp表

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 


    HttpSession session = request.getSession(true); 

    try { 
     Connection con=DataConnection.getconnection(); 
     PreparedStatement pst; 
     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 
     out.println("<html><body>"); 
     pst = con.prepareStatement("select * from [user]"); 
     ResultSet rs = pst.executeQuery(); 
     List<User> ee = new ArrayList<User>(); 

     while (rs.next()) { 
      User e = new User(); 
      e.setName(rs.getString(1)); 
      e.setUserName(rs.getString(2)); 
      e.setPass(rs.getString(3)); 

      ee.add(e); 
     } 

     request.getSession().setAttribute("ee", ee); 
     RequestDispatcher rd = getServletContext().getRequestDispatcher("/user.jsp"); 
     rd.forward(request, response); 

    } catch (Throwable theException) { 
     System.out.println(theException); 
    } 
} 

這是我的代碼,它包含數組列表並通過它trought request.getSession()。setAttribute(「ee」,ee);

現在怎麼接取在JSP中這個值,它應該在從表 的顯示可以在任何給我的示例代碼此

+0

嘗試在您的jsp頁面中: - 列表 ee = new ArrayList (); ee =(列表)request.getAttribute(「ee」); –

+0

這是不可能的gaurav,因爲Sameer在會話中不在請求中設置了值。 –

回答

0

使用JSTL

我建議設置數據請求而不是會話

request.setAttribute("ee", ee); 

比使用下面的代碼替換線

request.getSession().setAttribute("ee", ee); 

在JSP

<c:forEach items="${ee}" var="element"> 
    <tr> 
    <td>${element.col1}</td> 
    <td>${element.col2}</td> 
    </tr> 
</c:forEach> 
+0

感謝所有對我們的支持...................... –

0

您可以訪問使用$ {呀}數組。

有許多使用JSTL進行迭代的方法。

假設你User.java包含例如兩個atributes:姓名,您可以訪問到這些信息在你的JSP與下面的代碼:

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=utf-8"%> 
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

    <c:forEach items="${sessionScope.ee}" var="item"> 
     ${item.name} - ${item.surname} 
    </c:forEach> 

你應該考慮到,你把你的屬性帳戶在會議中。 (這就是爲什麼您必須使用$ {sessionScope})確保您是否要使用會話。

+0

這是不可能的,因爲Sameer已在Session中設置了值而不是請求 –

+0

yogesh:錯誤的,看到http://stackoverflow.com/q/5387174 – BalusC

+0

這就是我在我的答案建議。 :)並且在奧斯卡編輯他的答案之前發表了評論。 –