站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题字符串分页代码

字符串分页代码

摘要: 字符串分页代码

</td> </tr> <tr> <td width="527" height="35" valign="top" class="ArticleTeitle"> 使用实例:
StringPager pager = new StringPager();
pager.setSizePerPage(5);// 每页显示字符数
pager.setText("12345678901");// 需要分页的长文本
pager.setCurrentPage(2);// 当前页码

System.out.println(pager.getTotalPage());// 总页数
System.out.println(pager.getCurrentPagedText());// 当前页的字符串

注意: 基于 Java 的字符串长度概念, 因此每页显示的是中文和英文都作为长度为1的分页.
全部源文件:


package examples;
/*
* @(#)StringPager.java 1.00 2004-10-10
*
* Copyright 2004 . All rights reserved.
* PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/


/**
* StringPager, 字符串分页.
*
* @author 刘长炯
* @version 1.00 2004-10-10
*/
public class StringPager {

/** 当前页码数 */
private int currentPage = 1;

/** 需要分页的长字符串 */
private String text;

/** 每页显示字符数, 默认为 200 */
private int sizePerPage = 200;

/** 总页数 */
private int totalPage;


public StringPager() {}

/**
* 返回当前页的字符串.
* @return
*/
public String getCurrentPagedText() {
try {
if(getCurrentPage() < getTotalPage()) {
return getText().substring((getCurrentPage() - 1) * getSizePerPage(),
getCurrentPage() * getSizePerPage());
} else if(getTotalPage() > 0) {
return getText().substring((getCurrentPage() - 1) * getSizePerPage());
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

/**
* @return Returns the 当前页码数.
*/
public int getCurrentPage() {
if(currentPage <= 0) currentPage = 1;

return currentPage;
}

/**
* 设置当前页码, 从 1 开始.
*
* @param currentPage
* The 当前页码数 to set.
*/
public void setCurrentPage(int currentPage) {
if (currentPage <= 0) {
currentPage = 1;
}
this.currentPage = currentPage;
}

/**
* @return Returns the 总页码数, 如果没有数据, 就返回 1.
*/
public int getTotalPage() {
if(getText() == null) totalPage = 0;
totalPage = (int) Math.ceil(1.0 * getText().length() / getSizePerPage()); // 总页面数

if (totalPage == 0)
totalPage = 1;
return totalPage;
}

/**
* @param totalPage
* The totalPage to set.
*/
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}

public static void main(String[] args) {
StringPager pager = new StringPager();
pager.setSizePerPage(5);
pager.setText("12345678901");
pager.setCurrentPage(2);

System.out.println(pager.getTotalPage());
System.out.println(pager.getCurrentPagedText());
}

/**
* @return Returns the 每页显示字符数.
*/
public int getSizePerPage() {
return sizePerPage;
}

/**
* @param sizePerPage
* The 每页显示字符数 to set.
*/
public void setSizePerPage(int sizePerPage) {
this.sizePerPage = sizePerPage;
}

/**
* @return Returns the 需要分页的长字符串.
*/
public String getText() {
return text;
}

/**
* @param text
* The 需要分页的长字符串 to set.
*/
public void setText(String text) {
this.text = text;
}
}

下面是jsp调用:testpage.jsp(请下载)
</td> <td width="175" valign="top" class="ArticleTeitle">
</td> </tr> <tr> <td height="25" colspan="2" valign="top" class="ArticleTeitle">


↑返回目录
前一篇: 代码段:存取Cookie
后一篇: 用jsp实现直接下载文件的功能