1、JSP页面代码:
<script type="text/javascript">
function topage(page){
var form = document.forms[0];
form.page.value=page;
form.submit();
}
</script>
<s:form action="appeal_browseAppeal.action" method="post">
<s:hidden name="page" value="1"/>
<table width="100%" border="0" cellspacing="1" cellpadding="2" align="center">
<tr >
<td colspan="3" bgcolor="6f8ac4" align="right">
<%@ include file="/common/share/fenye.jsp" %>
</td>
</tr>
<tr>
<td width="10%" bgcolor="6f8ac4"> <div align="center"><font color="#FFFFFF">选择</font></div></td>
<td width="50%" bgcolor="6f8ac4"> <div align="center"><font color="#FFFFFF">标题</font></div></td>
</tr>
<!---------------------------LOOP START------------------------------>
<c:forEach items="${pageBean.list}" var="entry">
<tr>
<td bgcolor="f5f5f5"> <div align="center"><input type="checkbox" name="id" value="${entry.id }"/></div></td>
<td bgcolor="f5f5f5"> <div align="center">${entry.title}</div></td>
</tr>
</c:forEach>
</table>
</s:form>
2、Action代码:
public String browseAppeal(){
String query = "";
AppealService appealService = new AppealService();
int allRow = appealService.getAllRowCount(query);
int totalPage = PageBean.countTotalPage(Contants.PAGE_SIZE, allRow);//总页数
int offset = PageBean.countOffset(Contants.PAGE_SIZE, page);//当前页开始记录
int length = Contants.PAGE_SIZE;//每页记录数
int currentPage = PageBean.countCurrentPage(page);
List<Appeal> list = appealService.queryForPage(query,offset,length);
//把分页信息保存到Bean中
PageBean pageBean = new PageBean();
pageBean.setPageSize(Contants.PAGE_SIZE);
pageBean.setCurrentPage(currentPage);
pageBean.setAllRow(allRow);
pageBean.setTotalPage(totalPage);
pageBean.setList(list);
pageBean.init();
setPageBean(pageBean);//设置此pageBean
return SUCCESS;
}
3、service代码:
public Integer getAllRowCount(String query){
int rowCount = 0;
Connection conn = DB.createConn();
PreparedStatement ps = null;
try {
ps = conn.prepareStatement("select count(*) from appeal ");
ResultSet result = ps.executeQuery();
if (result.next()) {
rowCount = result.getInt(1);
}
}catch(SQLException ex) {
ex.printStackTrace();
}finally{
DB.close(ps);
DB.close(conn);
}
return rowCount;
}
public List queryForPage(String query,Integer offset,Integer length){
Connection conn = DB.createConn();
String sql = "select * from Appeal "+query+" limit "+offset+","+length;
PreparedStatement ps = DB.prepare(conn, sql);
List<Appeal> appeals = new ArrayList<Appeal>();
try {
ResultSet rs = ps.executeQuery();
Appeal c = null;
while(rs.next()) {
c = new Appeal();
c.setId(rs.getInt("id"));
c.setTitle(rs.getString("title"));
appeals.add(c);
}
} catch (SQLException e) {
e.printStackTrace();
}
DB.close(ps);
DB.close(conn);
return appeals;
}