我想创建一个方法,使用ResultSet从数据库中返回结果集并封装到List中,然后将List传递到Servlet中,再使用JSTL显示到前台页面。但是不知为什么ResultSet只能得到数据库中的第一行数据,如何才能返回数据库中的全部结果呢?
从数据库中返回结果集的代码如下:
[code="java"]
// 抽象出从数据库查询所有数据的方法
public static List getOracleFindAll() throws Exception {
Connection conn = JDBC_Connection.getOracleConnection();
String sql = "SELECT * FROM T_CHALIEZHOU_REGISTER";
Statement stmt = conn.createStatement();
// 返回结果集
ResultSet rs = stmt.executeQuery(sql);
//建立两个泛型容器
List<User> lstuser = new ArrayList<User>();
User user = new User();
if(rs != null){
while (rs.next()) {
user.setUsername(rs.getString("t_username"));
user.setUseridtype(rs.getString("T_USERIDTYPE"));
user.setUserid(rs.getString("T_USERID"));
user.setSex(rs.getString("T_SEX"));
user.setDate(rs.getString("T_BIRTHDAY"));
user.setIdencode(rs.getString("T_IDENCODE"));
lstuser.add(user);
}
}
return lstuser;
}
[/code]
Servlet代码如下:
[code="java"]
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
List<User> lst2 = DB_Operation.getOracleFindAll();
request.setAttribute("lst2", lst2);
} catch (Exception e) {
e.printStackTrace();
}
// 重定向页面
//String path = request.getContextPath();
this.getServletContext().getRequestDispatcher("/registerlist.jsp")
.forward(request, response);
}
[/code]
表现层JSTL代码如下:
[code="java"]
真实姓名 | 证件类型 | 证件号码 | 性别 | 出生日期 | 验证码 |
---|