javaweb 简单分页
来源:互联网 发布:qq企业邮箱 域名 编辑:程序博客网 时间:2024/05/15 17:02
JavaWeb中的简单分页
这次主要是讲解一下通过登录后对得到的数据进行分页,首先我们新建一个登录页面login.jsp,因为我们主要学习一下分页,所以登录验证的部分不再阐述,主要代码如下:
1 <form action="pageServlet">2 用户名:<input type="text" name="username"><br>3 密 码:<input type="text" name="password"><br>4 <input type="submit" value="提交">5 </form>
首先建立实体类User.java并添加get和set方法:
1 public class User { 2 private String username; 3 private String password; 4 public String getUsername() { 5 return username; 6 } 7 public void setUsername(String username) { 8 this.username = username; 9 }10 public String getPassword() {11 return password;12 }13 public void setPassword(String password) {14 this.password = password;15 }16 17 }
我们可以看到form表单是提交到pageServlet中,所以我们新建一个PageServlet,并在Servlet中获取到数据,同时做一些分页的准备,具体含义可以参照注释理解,PageServlet代码:
1 public class PageServlet extends HttpServlet { 2 public void doGet(HttpServletRequest request, HttpServletResponse response) 3 throws ServletException, IOException { 4 List<User> list = new ArrayList<User>(); 5 // 在这里我不再连接数据库而是用虚拟的数据进行测试效果,小伙伴可以连接数据库查询到之后返回一个list 6 for (int i = 1; i < 7; i++) { 7 User user1 = new User(); 8 user1.setUsername("第" + i + "个用户名"); 9 user1.setPassword("第" + i + "密码");10 list.add(user1);11 }12 HttpSession session = request.getSession();13 // 将数据存到session中以便于在前台获取14 session.setAttribute("userList", list);15 //获取当前页的页数并转为int类型,最终将数据存到session中16 int pageNos;17 if (request.getParameter("pageNos") == null18 || Integer.parseInt(request.getParameter("pageNos")) < 1) {19 pageNos = 1;20 } else {21 pageNos = Integer.parseInt(request.getParameter("pageNos"));22 }23 session.setAttribute("pageNos", pageNos);24 // 定义总页数并存到session中25 int countPage = 3;26 // 在实际开发中我们的总页数可以根据sql语句得到查询到的总条数,然后用总条数除每页的条数得到总页数27 session.setAttribute("countPage", countPage);28 request.getRequestDispatcher("index.jsp").forward(request, response);29 }30 31 public void doPost(HttpServletRequest request, HttpServletResponse response)32 throws ServletException, IOException {33 34 }35 36 }
在上述代码中我们最终将转发到index.jsp页面,此时我们所有的数据都将显示在index.jsp中,用JSTL和EL表达式获取得到,index.jsp主要代码如下:
1 <body> 2 <c:forEach items="${userList}" var="user" begin="${(pageNos-1)*2 }" 3 end="${pageNos*2-1}"> 4 <center> 5 <div>${user.username}</div> 6 </center> 7 <center> 8 <div>${user.password}</div> 9 </center>10 </c:forEach>11 <center>12 <c:if test="${pageNos>1 }">13 <a href="pageServlet?pageNos=1" >首页</a>14 <a href="pageServlet?pageNos=${pageNos-1 }">上一页</a>15 </c:if>16 <c:if test="${pageNos <countPage }">17 <a href="pageServlet?pageNos=${pageNos+1 }">下一页</a>18 <a href="pageServlet?pageNos=${countPage }">末页</a>19 </c:if>20 </center>21 <form action="pageServlet">22 <h4 align="center">共${countPage}页 23 <input type="text" value="${pageNos}" name="pageNos" size="1">页24 <input type="submit" value="go">25 </h4>26 </form>27 </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"%>
到这里我们就完成了一个简单的分页,快去试试吧。
转自:https://www.cnblogs.com/xwlych/p/6017833.html
阅读全文
0 0
- javaweb 简单分页
- JavaWeb 分页
- javaweb分页
- javaweb 分页
- JavaWeb基础+oracle实现简单简单分页商品浏览与加入购物车系统
- javaweb 分页的实现
- javaWeb 分页实现
- 求 javaweb 条件分页
- JavaWeb 分页管理
- JavaWeb知识 - 分页
- JavaWeb 分页操作
- JavaWeb分页技术总结
- javaweb 实现分页
- javaWEb中的分页处理
- JavaWeb---数据分页
- JavaWeb基础-分页查询
- javaweb数据库的分页
- Javaweb分页技术实现
- centos7设置SSH免密码登录教程
- poshytip实现页面记录未展示的部分通过提示框展示
- mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法
- Netty实战读书笔记(第十一章(下))
- 通达OA重新创建缓存的方法源码
- javaweb 简单分页
- 关于作用域插槽渲染li实例详解及数据传递流程
- C++/Qt中调用函数ShellExecute()打开图片或者word文档的使用方法
- 用递归和迭代这两种方法求n的阶层:n!
- 【转载HTML和jsp的关系】
- java 笔记 split 分割字符串
- opengl 坐标的理解
- centos 安装scp
- Linux cd命令