首页 > 基础资料 博客日记
JavaWeb学习-分页功能
2023-07-24 20:29:07基础资料围观202次
文章JavaWeb学习-分页功能分享给大家,欢迎收藏Java资料网,专注分享技术知识
1. 获取指定页码上的库存列表信息,每页显示5条
(1)FruitDAO和FruitDAOImpl
//获取指定页码上的库存列表信息,每页显示5条
List<Fruit> getFruitListbypageNo(int pageNo);
public List<Fruit> getFruitListbypageNo(int pageNo) {
List<Fruit> list = new ArrayList<>();
getConn();
String sql = "select * from fruit LIMIT ?,5";
try {
ps = conn.prepareStatement(sql);
ps.setInt(1,(pageNo-1)*5);
rs = ps.executeQuery();
while (rs.next()){
Fruit fruit = new Fruit();
fruit.setFid(rs.getInt(1));
fruit.setFname(rs.getString(2));
fruit.setPrice(rs.getInt(3));
fruit.setFcount(rs.getInt(4));
fruit.setRemark(rs.getString(5));
list.add(fruit);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
注:实体类必须写在while(rs.next())里面,否则最后一条数据会覆盖之前已保存的数据。
(2)IndexServlet
FruitDAO fruitDAO=new FruitDAOImpl();
//List<Fruit> fruitList = fruitDAO.getFruitList();
List<Fruit> fruitList = fruitDAO.getFruitListbypageNo(1); //获取第一页的内容
session.setAttribute("fruitList", fruitList);
2.实现分页功能
(1)index.html
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<script language="JavaScript" src="js/index.js"></script>
</head>
<body>
<div >
<div style="align-content: center;margin-left: 30%">
<div>
<a th:href="@{/add.html}">添加信息</a>
</div>
<table border="1" >
<tr>
<th >名称</th>
<th >单价</th>
<th >库存</th>
<th >备注</th>
<th >操作</th>
</tr>
<tr th:if="${#lists.isEmpty(session.fruitList)}">
<td colspan="4">对不起,货存为空!</td>
</tr>
<tr th:unless="${#lists.isEmpty(session.fruitList)}" th:each="fruit : ${session.fruitList}">
<!-- <td ><a th:text="${fruit.fname}" href="@{'/edit.do?fid='+${fruit.fid}}">苹果</a></td>
( th:text="" 会把后面的值覆盖,添加超链接时候,为防止超链接被覆盖,将“th:text=”放入<a>标签中
@{}表示thymeleaf中的绝对路径 ${}表示需要thymeleaf来解析 而“/edit.do?fid=”是字符串不需要thymeleaf去解析,添加单引号) -->
<!--
给url地址后面附加请求参数:
@{/order/process(exexId=${exexId},exexType="FAST")} (键值对)
-->
<td><a th:text="${fruit.fname}" th:href="@{'/edit.do?fid='+${fruit.fid}}">苹果 </a></td>
<td th:text="${fruit.price}">5</td>
<td th:text="${fruit.fcount}">20</td>
<td th:text="${fruit.remark}"> </td>
<!-- <td> <img src="img/del.png" th:onclick="'delFruit('+${fruit.fid}+')"></td> -->
<td> <img src="img/del.png" style="height: 50px;width: 50px" th:onclick="|delFruit(${fruit.fid})|"></td>
</tr>
</table>
<div style="margin-left: 1%">
<input type="button" value="首 页" th:onclick="|page(1)|" th:disabled="${session.pageNo == 1}"/>
<input type="button" value="上一页" th:onclick="|page(${session.pageNo - 1})|" th:disabled="${session.pageNo == 1}"/>
<input type="button" value="下一页" th:onclick="|page(${session.pageNo + 1})|" th:disabled="${session.pageNo == session.pageCount}"/>
<input type="button" value="尾 页" th:onclick="|page(${session.pageCount})|" th:disabled="${session.pageNo == session.pageCount}"/>
</div>
</div>
</div>
</body>
</html>
//th:disabled="${session.pageNo == 1}"表示在在。。。条件下该按钮不能使用
(2)index.js
function page(pageNo) {
window.location.href="index?pageNo="+pageNo;
}
(3)FruitDAO和FruitDAOImpl
//获取库存总页数
int getFruitCount();
public int getFruitCount() {
int count = 0;
String sql = "select * from fruit ";
getConn();
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()){
count++; //获取rs中的条数
}
} catch (SQLException e) {
e.printStackTrace();
}
return count;
}
文章来源:https://www.cnblogs.com/Joyce-mi7/p/16494331.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
上一篇:Java基础_运算
下一篇:java实现大文件上传分片上传断点续传