`
zhaoshuo5550
  • 浏览: 12680 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA字符串分页

阅读更多
最近搞一个新闻系统,有些文章过于长,所以领导要求一个新闻的内容分页,其实就是长字符串分页!上网找了找,自己改了改 做个记录 代码如下:
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;
	}


	/**
	 * @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;
	}
	
	public static void main(String[] args) {
		StringPager pager = new StringPager();
		pager.setSizePerPage(5);
		pager.setText("12345678901");
		pager.setCurrentPage(1);

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

以上为全部代码

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

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

测试代码,细心的人,一看就会使用了!
分享到:
评论
1 楼 wodentt 2012-02-15  
不错 

相关推荐

    java中获取字符串函数

    ### Java中获取字符串长度的方法详解 在Java编程语言中,字符串是极其常用的数据类型之一,尤其是在处理文本数据时。本文将详细介绍如何在Java中获取字符串的长度,包括使用`String`类中的`length()`方法的基本原理...

    java里jsp分页

    可以使用PreparedStatement来预编译SQL语句,避免直接拼接字符串。 10. **用户体验**:良好的分页设计应考虑用户体验,如跳转至第一页和最后一页的快捷方式,以及是否显示总页数等。 综上所述,"java里jsp分页...

    html转pdf、字符串转pdf

    在IT行业中,将HTML文档或字符串转换为PDF格式是一项常见的需求。这主要涉及到网页内容的持久化和跨平台分享,确保用户能够在不同设备上以一致的格式查看内容。本篇文章将详细探讨如何利用PD4ML库进行HTML转PDF以及...

    最好用的分页代码(java版)

    此外,为了支持动态的参数传递,如URL中的查询字符串,代码中对`url`进行了处理,确保可以正确地构建带参数的分页链接。 总结起来,这个Java分页代码设计简洁,具有很好的灵活性,可以根据不同的应用场景进行扩展。...

    JAVA的JSP简单分页

    2. **调用方法**:通过对象调用`generatePageLinks()`获取分页链接的HTML字符串,然后在JSP中插入到合适的位置。 3. **处理请求**:在JSP中,可以监听`page`参数,当用户点击分页链接时,根据传递的页码更新当前页。...

    处理字符串的类以及使用哈希表来进行分页的类

    处理JAVA中字符串的乱码 使用哈希表来进行JSP的分页

    JAVA分页控件

    这些参数可能通过URL查询字符串或POST请求体传递,然后在`PageController`类中解析并用于构建SQL语句。 6. **分页对象与实体类**:为了更好地封装分页逻辑,我们可以创建一个`Page`或`Pagination`类,包含总页数、...

    Java进制/时间/日期/字符串/流算法大全

    Java 的16 进制与字符串的相互转换函数 JAVA 时间格式化处理 将毫秒转化为日期 文本的倒序输出 判断一个数字是奇数还是偶数 用Hibernate 实现分页 35 选7 彩票程序 获取GMT8 时间 中文乱码转换 Big5 字与Unicode 的...

    java分页工具类,以及基于Struts,Spring,mybatis,jsp中分页的调用及实现

    - `pageLinks`: 分页链接字符串。 `PageUtils`类提供了相应的getter和setter方法来访问和修改这些属性。此外,还提供了一个静态方法`parseInt(Object s, int defaultValue)`用于安全地将字符串转换为整数。 #### ...

    java分页标签

    这些参数可以通过HTTP请求传递,例如通过URL查询字符串或POST请求体。 5. **数据库查询**:分页的核心是根据请求参数执行数据库查询,获取当前页的数据。这通常涉及到SQL语句的编写,例如使用`LIMIT`和`OFFSET`...

    hbase分页查询实现.pdf

    作者使用了getBytes()方法来将字符串转换为字节数组。 知识点5:分页查询的实现 作者使用了getDataMap()方法来实现分页查询。该方法传入了表名、开始行、结束行、当前页码和页大小等参数,并返回了结果集。作者...

    Java开发分页技术

    这些参数可以通过URL查询字符串、表单提交或Ajax请求等方式传递。 六、优化技巧 1. 分页缓存:对频繁访问的分页数据进行缓存,减少数据库查询。 2. 数据预加载:考虑用户滚动习惯,预先加载临近页面数据,提升用户...

    基于java的分页技术

    - **传递参数**:通常通过HTTP请求参数或URL中的查询字符串传递当前页数和每页显示的记录数。 - **前端展示**:在页面上显示分页导航,允许用户切换页面。 **3. MVC框架中的分页** 在MVC框架中,分页可以通过控制器...

    JAVA使用ajax实现了分页 jquery

    4. 无刷新跳转:防止用户刷新页面时回到第一页,可以将当前页码保存在URL的查询字符串或sessionStorage中。 通过以上步骤,我们就可以实现一个基本的使用Ajax和jQuery的分页功能。在实际项目中,还需要考虑性能优化...

    java对HighGo DB数据分页的示例

    接下来,程序中构建了连接字符串(即url),通过“jdbc:highgo://***.*.*.*:5866/highgo”连接到本机的HighGo数据库服务。这里的IP地址“***.*.*.*”和端口号“5866”指明了数据库服务的位置和监听端口,而“highgo...

    Java操作MongoDB模糊查询和分页查询

    这里的`^`代表字符串的开始,`$`代表字符串的结束,`CASE_INSENSITIVE`使查询不区分大小写。 2. 右匹配:这种查询会查找以指定字符串结尾的数据。例如,查找所有以"Smith"结尾的名字: ```java Pattern pattern = ...

    Json字符串绑定自定义ListView

    1. 解析JSON:使用Gson库,可以方便地将JSON字符串转换为Java对象。例如,如果你的JSON字符串包含一个对象数组,可以创建一个对应的Java类,并用Gson的`fromJson()`方法解析。 2. 数据存储:将解析得到的Java对象...

    源代码_JavaWeb实现分页查询_java_

    9. **安全性**:防止SQL注入,使用PreparedStatement预编译SQL,避免直接拼接字符串构造SQL。 10. **用户体验**:提供对每页记录数的配置选项,以及快速跳转至某页的功能。 以上就是Java Web实现分页查询的基本...

    史上最牛的java分页技术

    `Integer.parseInt`用于将字符串转换为整数,以获取用户输入的每页记录数和当前页数。 7. **异常处理**:在获取用户输入时,需要注意可能出现的异常情况,如非法的数字格式。因此,代码中包含了异常捕获,当转换...

    javaweb经典分页源码

    这些参数可以通过URL查询字符串或者POST请求体传递。 3. 分页计算:服务器端根据接收到的分页参数,计算出正确的数据库查询条件,如偏移量(`offset`)和限制数量(`limit`)。偏移量通常是(`pageNo - 1`)* `...

Global site tag (gtag.js) - Google Analytics