Java言語ArrayListに格納する方法を使って一覧表示にページング処理をする方法

処理方法:

public List getList(int page, int size) throws Exception {
String sql = “select * from table order by id desc limit ?,?";
Connection conn = DBUtil.getConnection();
PreparedStatement pst = conn.prepareStatement(sql);
int begin = (page – 1) * size;
pst.setInt(1, begin);
pst.setInt(2, size);
ResultSet rs = pst.executeQuery();
List list = new ArrayList();

while (rs.next()) {
X x = new X();
x.setId(rs.getInt(“id"));

list.add(x);

}
conn.close();

return list;
}

—————————————————–
ページの最大数
public int countMaxPage(int size, String tablename) throws Exception {
String sql = “select count(*) from " + tablename;
Connection conn = DBUtil.getConnection();
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
rs.next();
int total = rs.getInt(1);
DBUtil.close();
int maxPage = 1;
if (total % size == 0) {
maxPage = total / size;
} else {
maxPage = total / size + 1;
}
return maxPage;
}
———————————————————
<a href="list.action?page=1″>最初</a>

<s:if test="page > 1″>
<a href="list.action?page=${page-1 }">前のページ</a>
</s:if>
<s:else>
<a>前のページ</a>
</s:else>

<s:if test="page < maxPage">
<a href="list.action?page=${page+1 }">次のページ</a>
</s:if>
<s:else>
<a>次のページ</a>
</s:else>
<a href="list.action?page=${maxPage }">最後</a> 現在 ${page } |
${maxPage }ページ

 

Development

Posted by arkgame