打印servlet传递的表中的完整行

  • 本文关键字:打印 servlet java jsp servlets
  • 更新时间 :
  • 英文 :


我有一个jsp页面和一个servlet,在servlet中,我想从一个特定的表中提取一些行并将它们传递给jsp。。。

public class TimeDetail extends HttpServlet {
    @SuppressWarnings("unchecked")
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, java.io.IOException {
        HttpSession session = request.getSession(true);
        String eid = (String) session.getAttribute("eid");
        int count = 0;
        Connection con = ConnectionManager.getConnection();
        try {
            Statement st = con.createStatement();
            Statement st1 = con.createStatement();
            String Query = "select date, intime, outtime, eid  from fulltime where eid='" + eid + "'";
            ArrayList Rows = new ArrayList();
            ResultSet rs = st.executeQuery(Query);
            List agentList = new ArrayList();
            while (rs.next()) {
                ArrayList row = new ArrayList();
                for (int i = 1; i <= 4; i++) {
                    row.add(rs.getString(i));
                }
                String n1 = rs.getString("date");
                String n2 = rs.getString("intime");
                String n3 = rs.getString("outtime");
                String n4 = rs.getString("eid");
                session.setAttribute("n1", n1);
                session.setAttribute("n2", n2);
                session.setAttribute("n3", n3);
                session.setAttribute("n4", n4);
                // response.sendRedirect("TimeDetail.jsp");
                Rows.add(row);
            }
            request.getSession().setAttribute("results", Rows);
            RequestDispatcher rd = getServletContext().getRequestDispatcher("/TimeDetail.jsp");
            rd.forward(request, response);
        } catch (Throwable theException) {
            System.out.println(theException);
        }
    }
}

这是jsp代码

<tr><td>
    <table width="600" height="300"align=center cellspacing=0 border="0" 
        <caption><h2>List of users</h2></caption>
        <tr>
            <th>date</th>
            <th>intime</th>
            <th>outtime</th>
            <th>eid</th>
        </tr>
        <c:forEach var="user" items="${Rows.rows}">
            <tr>
                <td><c:out value="${user.date}" /></td>
                <td><c:out value="${user.intime}" /></td>
                <td><c:out value="${user.outtime}" /></td>
                <td><c:out value="${user.eid}" /></td>
            </tr>
      </c:forEach>
    </table>
   </div>
        </table><BR>
        </fieldset>
    </td></tr></table>
   </td></tr>
    </table>
   </body>
   </html>

您的for each循环应该是这样的,

<c:forEach var="user" items="${results}">
            <tr>
                <td><c:out value="${user}" /></td>
                <td><c:out value="${user}" /></td>
                <td><c:out value="${user}" /></td>
                <td><c:out value="${user}" /></td>
            </tr>
      </c:forEach>

您的servlet作为

     try {
            Statement st = con.createStatement();
            Statement st1 = con.createStatement();
            String Query = "select date, intime, outtime, eid  from fulltime where eid='" + eid + "'";
            ArrayList row = new ArrayList();
            ResultSet rs = st.executeQuery(Query);

     while (rs.next()) { 
                     row.add(rs.getString("date"));
                     row.add(rs.getString("intime"));
                     row.add(rs.getString("outtime"));
                     row.add(rs.getString("eid"));
    }
}
request.getSession().setAttribute("results", row);
            RequestDispatcher rd = getServletContext().getRequestDispatcher("/TimeDetail.jsp");
            rd.forward(request, response);

希望这能有所帮助!!

最新更新