struts2分页

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值