list.jsp:
系统公告
list.java:
public ArrayList getNotices(int offset,int recordsPerPage){
ResultSet rs=null;
PreparedStatement ps =null;
ArrayList notices = new ArrayList();
Connection conn = JdbcUtils.getConnection();
String sql = "select SQL_CALC_FOUND_ROWS id,title,content,person,filepath,pubtime from notice order by id desc limit ?,? ";
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, offset);
ps.setInt(2, recordsPerPage);
rs = ps.executeQuery();
while(rs.next()){
Notice notice = new Notice();
notice.setId(rs.getInt("id"));
notice.setTitle(rs.getString("title"));
notice.setContent(rs.getString("content"));
notice.setPerson(rs.getString("person"));
notice.setFilepath(rs.getString("filepath"));
notice.setPubtime(rs.getString("pubtime"));
notices.add(notice);
}
rs.close();
rs = ps.executeQuery("SELECT FOUND_ROWS()");
if(rs.next())
this.noOfRecords = rs.getInt(1);
} catch (Exception e) {
e.printStackTrace();
}
return notices;
}
servlet:
//处理乱码
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=gbk");
int page = 1;
int recordsPerPage = 10;
if(request.getParameter("page") != null)
page = Integer.parseInt(request.getParameter("page"));
NoticeDAO nd = new NoticeDAOImpl();
ArrayList notices = nd.getNotices((page-1)*recordsPerPage,recordsPerPage);
int noOfRecords = nd.getNoOfRecords();
int noOfPages = (int) Math.ceil(noOfRecords * 1.0 / recordsPerPage);
request.setAttribute("notices", notices);
request.setAttribute("noOfPages", noOfPages);
request.setAttribute("currentPage", page);
request.getRequestDispatcher("noticelist.jsp").forward(request, response);