大家好,我可以帮助我......
我想列出数据库中的所有数据并显示到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);
}
}
这是我的代码,它包含数组列表并传递给它请求.getSession()。setAttribute(&#34; ee&#34;,ee);
现在如何在jsp中访问此值,它应该显示在表的from中 可以给我这个
的示例代码答案 0 :(得分:0)
使用 JSTL
我建议在请求而不是会话中设置数据。
替换行
request.getSession().setAttribute("ee", ee);
与
request.setAttribute("ee", ee);
而不是使用JSP中的以下代码
<c:forEach items="${ee}" var="element">
<tr>
<td>${element.col1}</td>
<td>${element.col2}</td>
</tr>
</c:forEach>
答案 1 :(得分:0)
您可以使用 $ {ee} 访问该数组。
有几种方法可以使用JSTL进行迭代。
假设您的User.java包含例如两个属性:name和surname,您可以使用以下代码访问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} 的原因)确保你是否想要使用会话。