如果有很多数据行,如何在我的JSP页面上将其属性为course、name、admno逐行显示?
String sql = "Select * FROM details WHERE ADMNO = '" + adm + "'";
rs = stmt.executeQuery(sql);
while (rs.next()) {
String course = rs.getString("COURSE");
String name = rs.getString("NAME");
String admno = rs.getString("ADMNO");
request.setAttribute("course", course);
request.setAttribute("name", name);
request.setAttribute("admno", admno);
System.err.println(course + " " + name + " " + admno);
d = getServletContext().getRequestDispatcher("/output.jsp");
d.forward(request, response);
最佳答案
首先你的代码会有问题。您不应该将请求调度程序放入 while 循环中。 OMG:( 第一次执行时,控制将转到 jsp 页面,并且循环不会再次执行,因为控制会失控到 JSP。
我可以建议你 3 个步骤
1.创建一个像这样的bean
Class Student{
String course;
String name;
String admNo;
//Add getters and setters for all the members.
//May be you can use constructor also for initializing in single shot.
}
2.在 Servlet 中创建一个学生列表。为 ResultSet 中的每条记录创建学生对象。将该学生添加到学生列表中。将学生列表放入请求中。
3.使用JSTL并迭代学生列表并显示在您的 JSP 中
<c:forEach var="student" items="${studentlist}">
.... Your code here ...
</c:forEach>
关于mysql - 从 Servlet 在 JSP 中显示数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28479676/