webwork中打包分页函数

action公共包有如下类:

package com.csdn.action.common;

public class DividePage {

 public static String doDividePage(int maxResultsOnePage,long totalRecord,int currentPage,String url){
  
  String header = "<table width='100%'  border='0' cellspacing='0' cellpadding='0'><tr><td width='50%' align='left'>";
  String footer = "</td></tr></table>";
  StringBuffer tmp = new StringBuffer();
  tmp.append("<a href='" + url + "0'>首页</a>&nbsp;&nbsp;");
  
  if((int)(totalRecord/maxResultsOnePage)==1)
   return new String("<table width='100%'  border='0' cellspacing='0' cellpadding='0'><tr><td width='50%' align='left'>首页&nbsp;&nbsp;上一页&nbsp;&nbsp;下一页&nbsp;&nbsp;末页</td><td align='right'>1&nbsp;&nbsp;</td></tr></table>");
  
  if(currentPage==0)
   tmp.append("<font class='likelink'>上一页</font>&nbsp;&nbsp;");
  else
   tmp.append("<a href='" + url + ( currentPage - 1 ) + "'>上一页</a>&nbsp;&nbsp;");
  
  if(((int)(totalRecord/maxResultsOnePage))==currentPage)
   tmp.append("<font class='likelink'>下一页</font>&nbsp;&nbsp;");
  else
   tmp.append("<a href='" + url + ( currentPage + 1 ) + "'>下一页</a>&nbsp;&nbsp;");
  
  tmp.append("<a href='" + url + (int)(totalRecord/maxResultsOnePage) + "'>末页</a>");
  
  tmp.append("</td><td align='right'>");
  
  int startPage = ((currentPage - 3) >= 0)?(currentPage - 3):0;
  int endPage = ((currentPage + 3) <= ((int)(totalRecord/maxResultsOnePage)))?(currentPage + 3):(int)(totalRecord/maxResultsOnePage);
  
  
  if(startPage > 0){
   tmp.append("<a href='"+ url + "0' title='第1页'>&lt;---</a>&nbsp;&nbsp;");
  }
  
  for(int i = startPage;i < endPage + 1; i ++){
   if(i == currentPage)
    tmp.append("<font color='red'>" + (i+1) + "</font>&nbsp;&nbsp;");
   else
    tmp.append("<a href='"+ url + "" + i + "'>" + (i+1) + "</a>&nbsp;&nbsp;");
  }
  
  if(endPage < (int)(totalRecord/maxResultsOnePage)){
   tmp.append("<a href='" + url + (int)(totalRecord/maxResultsOnePage) + "' title='第" + ((int)(totalRecord/maxResultsOnePage)+1) + "页'>--&gt;</a>");
  }
   
  return ( header + tmp + footer);
 }
}

 

以上为分页打包函数
在webwork action中如此调用
假设该action有一String变量为dividePageView,则
this.dividePageView = DividePage.doDividePage(maxResults, totalRecord.longValue(), curPage, new String("end.action?curPage="));
其中maxResults为一页最大记录, totalRecord.longValue()为该action前面部分从数据库得到的数据记录总数,curPage为当前页,在action里可以从url得到,new String("end.action?curPage=")为连接url
然后在jsp中如此<ww:property value="dividePageView" escape="false" />
加上escape属性也禁止其自动转义,这样后在该标签处就会出现一个分页的表格,是不是很方便呢?
:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值