/**
* 获得分页标签,返回分页标签字符串<br>
* <br>
* @param jsFunction js函数<br>
* @param pageNumber 当前页<br>
* @param pageSize 每页记录数<br>
* @param rowAmount 总记录数<br>
* @return paginationHtml 返回获得的分页标签字符串<br>
* @throws java.io.Exception 发生错误的时候被抛出<br>
*
*/
public static String getPaginationHtml (
String jsFunction, int pageNumber, int pageSize, int rowAmount
) {
// 判断总记录数或当前页数是否小于等于0
if ( rowAmount <= 0 || pageNumber <= 0) {
// 总记录数或当前页数小于等于0时,返回初期值
return "";
}
StringBuffer paginationHtml = new StringBuffer(); // 分页标签初始化
// 获得总页数
int pageAmount = getPageAmount(rowAmount, pageSize);
// 判断总页数是否大于0
if(pageAmount > 0){
// 总页数是否大于0时,判断当前页是否大于1
paginationHtml.append("<ul>");
if (pageNumber > 1) {
// 大于1时,设置第一页标签 <li class="nextpage"><a href="#">next</a></li>
paginationHtml.append("<li><a href = \"#\" onClick=\"").append(jsFunction).append("(1);").append("\">第一页</a></li> ");
// 设置上一页标签
paginationHtml.append("<li><a href = \"#\" onClick=\"").append(jsFunction).append("(").append(pageNumber - 1).append("); \">上一页</a></li> ");
}
// 判断当前页是否小于总页数
if (pageNumber < pageAmount) {
// 当前页小于总页数时,设置下一页标签
paginationHtml.append("<li><a href = \"#\" onClick=\"").append(jsFunction).append("(").append(pageNumber + 1).append("); \">下一页</a></li> ");
// 设置最后页标签
paginationHtml.append("<li><a href = \"#\" onClick=\"").append(jsFunction).append("(").append(pageAmount).append("); \">最后页</a></li> ");
} else {
// 翻页最后一页删除的场合
pageNumber = pageAmount;
}
// 判断总页数是否大于1
if(pageAmount > 1){
// 设置跳转开始标签
paginationHtml.append("<li>当前是第").append(pageNumber).append("页</li> ");
// 设置跳转项
for(int i=1; i <= pageAmount; i++){
if( Math.abs(pageNumber - i) < 6 ){
// 判断是否是被选中的项
if(i == pageNumber){
// 是时,设置选中状态 <li class="pageNumber">1</li>
paginationHtml.append("<li><span class=\"currentpage\">").append(i).append("</span></li> ");
} else {
// 否则
paginationHtml.append("<li><a href = \"#\" onClick=\"").append(jsFunction).append("(").append(i).append("); \">").append(i).append("</a></li> ");
}
}
}
// 设置跳转结束标签
paginationHtml.append("");
}
// 设置当前页和总共页标签
paginationHtml.append("<li>共").append(pageAmount).append("页,");
paginationHtml.append(rowAmount).append("条记录。</li></ul>");
// 保留当前页码
paginationHtml.append("<input type=\"hidden\" id=\"currPage\" name=\"currPage\" value=\"").append(pageNumber).append("\" />");
}
// 返回分页标签
return paginationHtml.toString();
}
/**
* 获得总页数,返回int类型<br>
* <br>
* @param rowAmount 总记录数<br>
* @param pageSize 每页记录数<br>
* @return pageAmount 总页数<br>
* @throws Exception 发生错误的时候被抛出<br>
*/
public static int getPageAmount (int rowAmount, int pageSize) {
int pageAmount = 0; // 总页数的初始化
if (rowAmount > 0 && pageSize > 0) {
// 总记录数大于0的情况
// 获得总页数
pageAmount = rowAmount / pageSize;
// 最后一页不满pPageNum条的时候
if (rowAmount % pageSize != 0) {
pageAmount++;
}
}
// 返回总页数
return pageAmount;
}
java 生成分页信息
最新推荐文章于 2024-07-27 13:31:57 发布