欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java实现分页显示效果

程序员文章站 2024-02-26 08:39:28
本文实例为大家分享了java实现页显示效果的具体代码,供大家参考,具体内容如下 效果图如下: 实现步骤: 1.创建实体user.class,参考代码如下:...

本文实例为大家分享了java实现页显示效果的具体代码,供大家参考,具体内容如下

效果图如下:

java实现分页显示效果

实现步骤:

1.创建实体user.class,参考代码如下:

public class user {
 private string name;
 private int age;
 private string gender;
 
 public string getname() {
 return name;
 }
 
 public void setname(string name) {
 this.name = name;
 }
 
 public int getage() {
 return age;
 }
 
 public void setage(int age) {
 this.age = age;
 }
 
 public string getgender() {
 return gender;
 }
 
 public void setgender(string gender) {
 this.gender = gender;
 }
 
 public user(string name, int age, string gender) {
 super();
 this.name = name;
 this.age = age;
 this.gender = gender;
 }
 
 public user() {
 }
 
}

2.创建分页模型pagebean.class,参考代码如下:

public class pagebean<t> {
 
 private int pagenum; 
 private int pagesize; 
 private int totalrecord; 
 private int totalpage; 
 private list<t> list;
 private int start;
 private int end;
 private int fromindex;
 private int toindex;
 
 public pagebean(int pagenum, int pagesize, int totalrecord) {
 this.pagenum = pagenum;
 this.pagesize = pagesize;
 this.totalrecord = totalrecord;
 fromindex=(pagenum-1)*pagesize;
 toindex=pagenum*pagesize>totalrecord?totalrecord:pagenum*pagesize;
 
 if (totalrecord % pagesize == 0) {
  this.totalpage = totalrecord / pagesize;
 } else {
  this.totalpage = totalrecord / pagesize + 1;
 }
 start = 1;
 end = 5;
 if (totalpage <= 5) {
  end = this.totalpage;
 } else {
  start = pagenum - 2;
  end = pagenum + 2;
 
  if (start < 1) {
  start = 1;
  end = 5;
  }
  if (end > this.totalpage) {
  end = totalpage;
  start = end - 5;
  }
 }
 }
 
 public int getpagenum() {
 return pagenum;
 }
 
 public void setpagenum(int pagenum) {
 this.pagenum = pagenum;
 }
 
 public int getpagesize() {
 return pagesize;
 }
 
 public void setpagesize(int pagesize) {
 this.pagesize = pagesize;
 }
 
 public int gettotalrecord() {
 return totalrecord;
 }
 
 public int getfromindex() {
 return fromindex;
 }
 
 public void setfromindex(int fromindex) {
 this.fromindex = fromindex;
 }
 
 public int gettoindex() {
 return toindex;
 }
 
 public void settoindex(int toindex) {
 this.toindex = toindex;
 }
 
 public void settotalrecord(int totalrecord) {
 this.totalrecord = totalrecord;
 }
 
 public int gettotalpage() {
 return totalpage;
 }
 
 public void settotalpage(int totalpage) {
 this.totalpage = totalpage;
 }
 
 public list<t> getlist() {
 return list;
 }
 
 public void setlist(list<t> list) {
 this.list = list.sublist(fromindex, toindex);
 }
 
 public int getstart() {
 return start;
 }
 
 public void setstart(int start) {
 this.start = start;
 }
 
 public int getend() {
 return end;
 }
 
 public void setend(int end) {
 this.end = end;
 }
 
}

3.创建jsp页面,参考代码如下:

/**
 *index.jsp
 */
<%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8"%>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">
<html>
  <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>insert title here</title>
  </head>
  <body>
    <a href="${pagecontext.request.contextpath }/main" rel="external nofollow" >分页显示</a>
  </body>
</html>
 
/**
 *main.jsp
 */
<%@ page language="java" contenttype="text/html; charset=utf-8"
 pageencoding="utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <script type="text/javascript"
   src="${pagecontext.request.contextpath}/jquery/jquery.min.js"></script>
    <script type="text/javascript">
   function gos() {
 var pagenum = $.trim($("#pagenum").val());
 if(isnan(pagenum)){
  alert("输入的不是数字 ,请输入数字!");
  return ;
 }
 if(pagenum==""){
  alert("输入为空,请重新输入!");
  return ;
 }
 if(pagenum<1||pagenum>${requestscope.pagebean.totalpage}){
  alert("超出范围,请重新输入!");
  return ;
 }
      location.href="${pagecontext.request.contextpath}/main?pagenum=" rel="external nofollow" +pagenum;
 }
    </script>
    <title>分页显示</title>
  </head>
  <body>
 <center>
 <table width="40%" style="text-align:center">
  <tr>
  <th>姓名</th>
  <th>性别</th>
  <th>年龄</th>
  </tr>
  <c:foreach items="${requestscope.pagebean.list }" var="i">
  <tr>
   <td>${i.name }</td>
   <td>${i.gender }</td>
   <td>${i.age }</td>
  </tr>
  </c:foreach>
 </table>
 </center>
 <br />
 <center>
 <a href="${pagecontext.request.contextpath}/main?pagenum=1" rel="external nofollow" >首页</a>
 <c:if test="${requestscope.pagebean.pagenum ==1}">
 <c:foreach begin="${requestscope.pagebean.start}"
  end="${requestscope.pagebean.end}" var="i">
  <c:if test="${requestscope.pagebean.pagenum == i}">
            ${i}
          </c:if>
  <c:if test="${requestscope.pagebean.pagenum != i}">
  <a href="${pagecontext.request.contextpath}/main?pagenum=${i}" rel="external nofollow" rel="external nofollow" rel="external nofollow" >${i}</a>
  </c:if>
 </c:foreach>
 <a
  href="${pagecontext.request.contextpath}/main?pagenum=${requestscope.pagebean.pagenum+1}" rel="external nofollow" rel="external nofollow" >下一页</a>
 </c:if>
 
 <c:if
 test="${requestscope.pagebean.pagenum > 1 && requestscope.pagebean.pagenum < requestscope.pagebean.totalpage}">
 <a
  href="${pagecontext.request.contextpath}/main?pagenum=${requestscope.pagebean.pagenum-1}" rel="external nofollow" rel="external nofollow" >上一页</a>
 <c:foreach begin="${requestscope.pagebean.start}"
  end="${requestscope.pagebean.end}" var="i">
  <c:if test="${requestscope.pagebean.pagenum == i}">
            ${i}
          </c:if>
  <c:if test="${requestscope.pagebean.pagenum != i}">
  <a href="${pagecontext.request.contextpath}/main?pagenum=${i}" rel="external nofollow" rel="external nofollow" rel="external nofollow" >${i}</a>
  </c:if>
 </c:foreach>
 <a
  href="${pagecontext.request.contextpath}/main?pagenum=${requestscope.pagebean.pagenum+1}" rel="external nofollow" rel="external nofollow" >下一页</a>
 </c:if>
 
 <c:if
 test="${requestscope.pagebean.pagenum == requestscope.pagebean.totalpage}">
 <a
  href="${pagecontext.request.contextpath}/main?pagenum=${requestscope.pagebean.pagenum-1}" rel="external nofollow" rel="external nofollow" >上一页</a>
 <c:foreach begin="${requestscope.pagebean.start}"
  end="${requestscope.pagebean.end}" var="i">
  <c:if test="${requestscope.pagebean.pagenum == i}">
            ${i}
          </c:if>
  <c:if test="${requestscope.pagebean.pagenum != i}">
  <a href="${pagecontext.request.contextpath}/main?pagenum=${i}" rel="external nofollow" rel="external nofollow" rel="external nofollow" >${i}</a>
  </c:if>
 </c:foreach>
   </c:if>
   <a
 href="${pagecontext.request.contextpath}/main?pagenum=${requestscope.pagebean.totalpage}" rel="external nofollow" >尾页</a><br><br>
 跳转到
   <input type="text" id="pagenum" size="1px"></input>页
   <a href="javascript:gos()" rel="external nofollow" >确定</a>, 共[${requestscope.pagebean.totalpage }]页,[${requestscope.pagebean.totalrecord}]条记录
 </center>
  </body>
</html>

4.创建servlets.class,参考代码如下:

@webservlet("/main")
public class servlets extends httpservlet {
 
 @override
 protected void service(httpservletrequest request, httpservletresponse response)
  throws servletexception, ioexception {
 string page = request.getparameter("pagenum");
 int pagenum = integer.parseint((page == null ? "1" : page));
 int pagesize = 5;
 service s = new service();
 pagebean<user> pb = s.findall(pagenum, pagesize);
 request.setattribute("pagebean", pb);
 request.getrequestdispatcher("/main.jsp").forward(request, response);
 }
}

5.创建service.class,参考代码如下:

public class service {
 public pagebean<user> findall(int pagenum, int pagesize) {
 userdao userdao = new userdao();
 list<user> users = userdao.findall();
 int totalrecord = users.size();
 pagebean<user> pb = new pagebean<>(pagenum, pagesize, totalrecord);
 pb.setlist(users);
 return pb;
 }
}

6.创建userdao.class,参考代码如下:

public class userdao {
 list<user> users=new arraylist<>();
 user user;
 public list<user> findall(){
 for(int i=1;i<99;i++){
  user=new user("name-"+i, (int)(100*math.random()), (int)(10*math.random())%2==1?"男":"女");
  users.add(user);
 }
 return users;
 }
}

需注意的问题:

1.需在webcontent下创建文件夹jquery,在他里面放入jquery.min.js这个文件。否则跳转功能异常。

2.index.jsp与main.jsp都在webcontent文件夹下。

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