如果有很多数据行,我如何在我的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);
答案 0 :(得分:1)
首先您的代码会有问题。你不应该在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>