gpt4 book ai didi

JavaWeb 简单分页实现代码

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章JavaWeb 简单分页实现代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

JavaWeb 简单分页的实现:

这次主要是讲解一下通过登录后对得到的数据进行分页,首先我们新建一个登录页面login.jsp,因为我们主要学习一下分页,所以登录验证的部分不再阐述,主要代码如下:

?
1
2
3
4
5
<form action= "pageServlet" >
      用户名:<input type= "text" name= "username" ><br>
     密&nbsp;码:<input type= "text" name= "password" ><br>
     <input type= "submit" value= "提交" >
    </form>

首先建立实体类User.java并添加get和set方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class User {
   private String username;
   private String password;
   public String getUsername() {
     return username;
   }
   public void setUsername(String username) {
     this .username = username;
   }
   public String getPassword() {
     return password;
   }
   public void setPassword(String password) {
     this .password = password;
   }
  
}

我们可以看到form表单是提交到pageServlet中,所以我们新建一个PageServlet,并在Servlet中获取到数据,同时做一些分页的准备,具体含义可以参照注释理解,PageServlet代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class PageServlet extends HttpServlet {
   public void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
     List<User> list = new ArrayList<User>();
     // 在这里我不再连接数据库而是用虚拟的数据进行测试效果,小伙伴可以连接数据库查询到之后返回一个list
     for (int i = 1; i < 7; i++) {
       User user1 = new User();
       user1.setUsername( "第" + i + "个用户名" );
       user1.setPassword( "第" + i + "密码" );
       list.add(user1);
     }
     HttpSession session = request.getSession();
     // 将数据存到session中以便于在前台获取
     session.setAttribute( "userList" , list);
     //获取当前页的页数并转为int类型,最终将数据存到session中
     int pageNos;
     if (request.getParameter( "pageNos" ) == null
         || Integer.parseInt(request.getParameter( "pageNos" )) < 1) {
       pageNos = 1;
     } else {
       pageNos = Integer.parseInt(request.getParameter( "pageNos" ));
     }
     session.setAttribute( "pageNos" , pageNos);
     // 定义总页数并存到session中
     int countPage = 3;
     // 在实际开发中我们的总页数可以根据sql语句得到查询到的总条数,然后用总条数除每页的条数得到总页数
     session.setAttribute( "countPage" , countPage);
     request.getRequestDispatcher( "index.jsp" ).forward(request, response);
   }
 
   public void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
 
   }
 
}

在上述代码中我们最终将转发到index.jsp页面,此时我们所有的数据都将显示在index.jsp中,用JSTL和EL表达式获取得到,index.jsp主要代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<body>
   <c:forEach items= "${userList}" var = "user" begin= "${(pageNos-1)*2 }"
     end= "${pageNos*2-1}" >
     <center>
       <div>${user.username}</div>
     </center>
     <center>
       <div>${user.password}</div>
     </center>
   </c:forEach>
   <center>
   <c: if test= "${pageNos>1 }" >
<a href= "pageServlet?pageNos=1" >首页</a>
<a href= "pageServlet?pageNos=${pageNos-1 }" >上一页</a>
</c: if >
<c: if test= "${pageNos <countPage }" >
<a href= "pageServlet?pageNos=${pageNos+1 }" >下一页</a>
<a href= "pageServlet?pageNos=${countPage }" >末页</a>
</c: if >
</center>
<form action= "pageServlet" >
<h4 align= "center" >共${countPage}页
<input type= "text" value= "${pageNos}" name= "pageNos" size= "1" >页
<input type= "submit" value= "go" >
</h4>
</form>
  </body>

第二行中我们用<c:forEach >对session.setAttribute();中的内容进行获取。注意,这里我默认是每页两条数据,所以是(pageNos-1)*2,如果每页N条数据则需将2改为N,当然N也可以从后台Servlet中获取得到.

同时,因为我们在index.jsp中用了JSTL表达式,所以记得要导入引用:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 。

到这里我们就完成了一个简单的分页,快去试试吧.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 。

最后此篇关于JavaWeb 简单分页实现代码的文章就讲到这里了,如果你想了解更多关于JavaWeb 简单分页实现代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com