新闻列表的分页查询java代码实现

 更新时间:2016年08月13日 09:57:42   作者:梦牵绕了谁的灵魂  
这篇文章主要为大家详细介绍了新闻列表的分页查询java代码实现,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了新闻列表分页查询的java代码,供大家参考,具体内容如下

package com.ibeifeng.test;
//创建新闻测试类
public class newTest {
private long id;
private String title;
private String content;
private String author;
 
public newTest() {
  super();
}
 
public newTest(long id, String title, String content, String author) {
  this.id = id;
  this.title = title;
  this.content = content;
  this.author = author;
}
 
public long getId() {
  return id;
}
 
public void setId(long id) {
  this.id = id;
}
 
public String getTitle() {
  return title;
}
 
public void setTitle(String title) {
  this.title = title;
}
 
public String getContent() {
  return content;
}
 
public void setContent(String content) {
  this.content = content;
}
 
public String getAuthor() {
  return author;
}
 
public void setAuthor(String author) {
  this.author = author;
}
 
@Override
public String toString() {
  return "newTest [id=" + id + ", title=" + title + ", content=" + content
      + ", author=" + author + "]";
}
 
 
}
2.开始查询
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="com.ibeifeng.test.newTest"%>
<%
  String path = request.getContextPath();
  String basePath = request.getScheme() + "://"
      + request.getServerName() + ":" + request.getServerPort()
      + path + "/";
%>
<%
  List<newTest> list = new ArrayList<newTest>(107);//设定新闻行数为107行
  for (int i = 1; i <= 107; i++) {//list中添加新闻
    newTest news = new newTest(0L + i, i + "里约奥运", "马龙获得金牌-世界乒坛第五位男子“大满贯”得主", "福音");
 
    list.add(news);
  }//end of for...添加107条数据到集合中
    //int pageIndex=10;
  int iTitleIndex = list.size();//获取集合下表标
  int iTitlePages = iTitleIndex / 10
      + (iTitleIndex % 10 == 0 ? 0 : 1);//获取页数的总数
  int ipage = 4;//开始的页数
   
  String str = request.getParameter("page");
  if (str != null && !str.trim().equals("")) {
    int newPage = Integer.valueOf(str);
 
    if (newPage < 1) {
      ipage = 1;
    } else if (newPage > iTitlePages) {
      ipage = iTitlePages;
    } else {
      ipage = newPage;
    }
  }
  //创建一个新的集合(大小每个页面显示的新闻总数) 将107条数据分别存储到其中 
  List<newTest> listPage = new ArrayList<newTest>(10);
  int ipa = 10;//获取循环体的循环次数//最后一页只有七条数据
  if (ipage == iTitlePages) { //当当前页数为最后一页时,剩余几行则循环体之执行剩余的行的数次,
    ipa = list.size() - (iTitlePages - 1) * 10;
  }
  for (int i = 0; i < ipa; i++) { //i=0;获取前十个数据 第一次循环时ipage=4
    newTest arr = list.get(i + (ipage - 1) * 10);
    listPage.add(arr);
  }
%>
<html>
<body>
  <table>
    <tr>
      <th>标题</th>
      <td>作者</td>
      <td>摘要</td>
    </tr>
    <%
      for (int i = 0; i < listPage.size(); i++) { //java代码需要用<% %》保护起来否则会被当做web语句执行
        newTest temp = listPage.get(i);
    %>
    <tr>
      <td><%=temp.getTitle()%></td>
      <td><%=temp.getAuthor()%></td>
      <td><%=temp.getContent()%></td>
    </tr>
    <%
      }//end of for...
    %>
  </table>
 
  <%
    boolean bFirst = ipage == 1;
    boolean bLast = ipage == iTitlePages ;
  %>
 
  <%
    if (!bFirst) {
  %>
  <a href="test.jsp?page=<%=ipage - 1%>&totopage=11">上一页</a>
  <%
    }
  %>
  &nbsp;&nbsp;&nbsp;
  <!-- 当跳转到第一页时不再显示“上一页”提交对话框,下同 -->
  <%
    if (!bLast) {
  %>
  <a href="test.jsp?page=<%=ipage + 1%>&totopage=11">下一页</a>
  <%
    }
  %>第<%=ipage%>页&nbsp;&nbsp;&nbsp;共<%=iTitlePages%>页
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java调用Restful接口的三种方法

    java调用Restful接口的三种方法

    本文主要介绍了java调用Restful接口的三种方法,主要包括HttpURLConnection实现,HttpClient实现和Spring的RestTemplate,具有一定的参考,感兴趣的可以了解一下    
    2021-08-08
  • Java面向对象基础教学(一)

    Java面向对象基础教学(一)

    这篇文章主要介绍了Java的面相对象编程思想,包括类对象方法和封装继承多态等各个方面的OOP基本要素,非常推荐,需要的朋友可以参考下,希望可以对你有所帮助
    2021-07-07
  • 基于UncategorizedSQLException异常处理方案

    基于UncategorizedSQLException异常处理方案

    这篇文章主要介绍了基于UncategorizedSQLException异常处理方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java中ArrayList同步的2种方法分享

    Java中ArrayList同步的2种方法分享

    这篇文章主要分享了Java中ArrayList同步的2种方法,Collections.synchronizedList()的方法,这个方法要进行串行访问以及使用CopyOnWriteArrayList,下面分享内容需要的小伙伴可以参考一下
    2022-03-03
  • springboot默认文件缓存(easy-captcha 验证码)

    springboot默认文件缓存(easy-captcha 验证码)

    这篇文章主要介绍了springboot的文件缓存(easy-captcha 验证码),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Java中IO和NIO的区别详细解析

    Java中IO和NIO的区别详细解析

    这篇文章主要介绍了Java中IO和NIO的区别详细解析,IO和NIO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO快不少,需要的朋友可以参考下
    2023-11-11
  • Java使用cxf发布及调用webservice接口的方法详解

    Java使用cxf发布及调用webservice接口的方法详解

    今天小编就为大家分享一篇关于Java使用CXF发布及调用WebService接口的方法,文中通过代码示例给大家介绍的非常详细,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2023-08-08
  • SpringBoot最简洁的国际化配置

    SpringBoot最简洁的国际化配置

    这篇文章主要介绍了SpringBoot最简洁的国际化配置,Spring Boot是一个用于构建独立的、生产级别的Spring应用程序的框架,国际化是一个重要的功能,它允许应用程序根据用户的语言和地区显示不同的内容,在Spring Boot中,实现国际化非常简单,需要的朋友可以参考下
    2023-10-10
  • 教你怎么用Java完成人民币大写转化

    教你怎么用Java完成人民币大写转化

    这篇文章主要介绍了教你怎么用Java完成人民币大写转化,文中有非常详细的代码示例,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-04-04
  • java使用任务架构执行任务调度示例

    java使用任务架构执行任务调度示例

    在Java 5.0之前启动一个任务是通过调用Thread类的start()方法来实现的,5.0里提供了一个新的任务执行架构使你可以轻松地调度和控制任务的执行,并且可以建立一个类似数据库连接池的线程池来执行任务,下面看一个示例
    2014-01-01

最新评论