新闻列表的分页查询java代码实现
程序员文章站
2024-03-13 13:14:09
本文实例为大家分享了新闻列表分页查询的java代码,供大家参考,具体内容如下
package com.ibeifeng.test;
//创建新闻测试类
pub...
本文实例为大家分享了新闻列表分页查询的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> <% } %> <!-- 当跳转到第一页时不再显示“上一页”提交对话框,下同 --> <% if (!blast) { %> <a href="test.jsp?page=<%=ipage + 1%>&totopage=11">下一页</a> <% } %>第<%=ipage%>页 共<%=ititlepages%>页 </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。