###Jsp+Servlet購物商城day02.3:分頁顯示商品
功能入口:head.jsp導航欄。分類查詢商品連結。===Ajax js程式碼DOM拼接的
處理Servlet:ProductServlet
功能出口:productList.jsp
功能入口:head.jsp導航欄。分類查詢商品連結
<script type="text/javascript"> //===頁面載入完成,觸發一個函式 $(function(){ $.post( "${pageContext.request.contextPath}/CategoryServlet",//請求路徑 {"method":"findAll"},//提交的資料 function(v){ //alert(v); //將資料設定進導航條 //<li><a href="#">電腦辦公</a></li> for(var i = 0; i < v.length; i++){ var cat = v[i];//{"cid":xxx,"cname":"yyyy"} $("#showCat").append("<li><a href='${pageContext.request.contextPath}/ProductServlet?method=findByCid&cid=" + cat.cid + "'>" + cat.cname + "</a></li>"); } },//回撥函式 "json"//資料型別 ); }); </script>
處理Servlet:ProductServlet
實現步驟:
首先是資料庫:mysql
select * from product where cid=? limit start, size;
頁面顯示不僅僅是商品資訊,還有當前頁號,pageSize。所以封裝了PageBean。
這裡給了一個工具類PageBean。===當然可以自己寫,很簡單。
ProductServlet:package cn.itcast.domain; import java.io.Serializable; import java.util.List; public class PageBean<T> implements Serializable{ private int pageNumber;//當前頁 ---前臺傳遞 private int pageSize;//一頁顯示多少條資料 ---後臺自定義 private int startIndex;//起始索引下標 --- 計算出來 private int totalRecord;//總記錄數--- 查詢出來 private int totalPage; //總頁數 --- 計算出來 private List<T> result;//每一頁的資料 public PageBean() { super(); // TODO Auto-generated constructor stub } public int getPageNumber() { return pageNumber; } public void setPageNumber(int pageNumber) { this.pageNumber = pageNumber; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getStartIndex() { return startIndex=(this.getPageNumber()-1)*this.getPageSize(); } public void setStartIndex(int startIndex) { this.startIndex = startIndex; } public int getTotalRecord() { return totalRecord; } public void setTotalRecord(int totalRecord) { this.totalRecord = totalRecord; } public int getTotalPage() { return totalPage=(this.getTotalRecord()%this.getPageSize()==0?(this.getTotalRecord()/this.getPageSize()):(this.getTotalRecord()/this.getPageSize()+1)); } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public List<T> getResult() { return result; } public void setResult(List<T> result) { this.result = result; } }
service:public String findByCid(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ProductService ps = new ProductServiceImpl(); String cid = request.getParameter("cid"); String pagenum = request.getParameter("pageNum"); if (pagenum == null) { pagenum="1"; } try { PageBean pb = ps.findByPage(cid,pagenum ); request.setAttribute("pb", pb); } catch (SQLException e) { e.printStackTrace(); } return "/product_list.jsp"; }
@Override
public PageBean findByPage(String cid, String pagenum) throws SQLException {
ProductDao pd = new ProductDaoImpl();
PageBean pbean = new PageBean();
pbean.setPageNumber(Integer.parseInt(pagenum));
pbean.setPageSize(12);
pbean.setStartIndex((Integer.parseInt(pagenum)-1)*12);
int totalRecord = pd.getCountByCid(cid);
pbean.setTotalRecord(totalRecord);
//int totalPage = totalRecord/5==0?totalRecord/5:totalRecord/5+1;
//pbean.setTotalPage(totalPage );//===計算來的,不用set
List<Product> list = pd.findByPage( cid, pbean);
pbean.setResult(list);
return pbean ;
}
dao
@Override
public List<Product> findByPage(String cid, PageBean pb) throws SQLException {
QueryRunner qr = new QueryRunner(C3p0Utils.getDataSource());
String sql = "select * from product where cid = ? limit ?,?";
/*
SQLException: near ''0','5'' at line 1 Query:
select * from product where cid = ? limit ?,? Parameters: [1, 0, 5]
// String[] params ={cid, pb.getStartIndex()+"", pb.getPageSize()+""};//
* */
Object[] params ={cid, pb.getStartIndex(), pb.getPageSize()};
List<Product> list = qr.query(sql , new BeanListHandler<Product>(Product.class),params );
return list;
}
相關推薦
###Jsp+Servlet購物商城day02.3:分頁顯示商品
功能入口:head.jsp導航欄。分類查詢商品連結。===Ajax js程式碼DOM拼接的 處理Servlet:ProductServlet 功能出口:productList.jsp 功能入口:head.jsp導航欄。分類查詢商品連結 <script type=
網上購物系統(Task007)——自定義DateList控制元件分頁顯示商品資訊
原始碼:13033480群共享 一、資料集Model新增商品資訊類ItemInfo.cs。 using System; namespace WestGarden.Model { public class ItemInfo { privat
jsp入門教程:7個步驟實現JSP的分頁顯示
本期的jsp入門學習內容:實現JSP分頁顯示的方法。今天給大家帶來實現jsp分頁顯示的程式碼,簡單的7個步驟就可以實現JSP的分頁顯示,有需要的朋友可以參考一下,學習些jsp開發的知識。 正式開始此次的jsp入門教程的學習: 1、MySQL的limit關鍵字 (DAO
淘淘商城項目技術點-6:分頁工具PageHelper
lmap actor div and nvi bubuko ase ges val 使用PageHelper有引入jar包和maven兩種方式,推薦使用maven方式。 在mybatis的sqlMapConfig.xml文件中配置PageHelper:
JSP實現 留言板 分頁顯示,新留言顯示在第一個~
date() sdf style string hid pre || lan pat 頁面效果圖: 留言Servlet-----MessageServlet package cn.MuJH.newsManager.servlet; import java.io.
例項:建立一個表格,分頁顯示資料(MongoDB資料庫儲存),功能:實現增刪改查
需求:建立一個表格,分頁顯示資料,功能:實現增刪改查 效果圖: 自動建立一個專案 命令列: express mongodb-demo --view=ejs cd mongodb-demo npm install npm install mongodb --save npm sta
工具類二:分頁Model
/** * 分頁Model類 * @author * */ public class PageBean { private int page; // 第幾頁 private int pageSize; // 每頁記錄數 private int start;
Spring boot入門(三):SpringBoot整合結合AdminLTE(Freemarker),利用generate自動生成程式碼,利用DataTable和PageHelper進行分頁顯示
關於SpringBoot和PageHelper,前篇部落格已經介紹過Spring boot入門(二):Spring boot整合MySql,Mybatis和PageHelper外掛,前篇部落格大致講述了SpringBoot如何整合Mybatis和Pagehelper,但是沒有做出實際的範例,本篇部落格是連
手把手教你如何玩轉外掛:分頁外掛(Pagehelper)
情景引入:小白:起床起床,,,快起床!!!我:怎麼怎麼了,小白你到底又怎麼了。。小白:我發現在Web系統中,分頁是一種很常見的功能,可是,我之前寫的方法都比較麻煩,移植性不是很高,有沒有什麼好辦法可以快速實現分頁的呢?我:確實是的,分頁功能幾乎在每個系統中都是存在的,它的實現
Oracle:分頁
SQL: Select ename from emp where ename like '_M%'第二個字母 Select to_char(sysdate, 'yyyy') a from dual //2018 select deptno, job, avg(sal) from
Sql Server:分頁
示例: https://www.cnblogs.com/fengxiaojiu/p/7994124.html SQL: select astart,avg(aid) a from air group by astart select dateadd(yy,1, '2008-9-10'
資料庫面試:分頁查詢的SQL寫法
分頁是很多網站應用或管理系統比較常見的需要實現的需求,是相關開發同學常碰到的需要寫的查詢。開發面試中會不會被問到用SQL寫分頁,因為個人不是開發,就不得而知了。在之前自己參加的資料庫崗位的面試中,被問到用SQL寫分頁,所以這裡記錄一下。 SELECT t.`colu
Android官方架構元件Paging:分頁庫的設計美學
前言 本文已授權 微信公眾號 玉剛說 (@任玉剛)獨家釋出。 我是一個崇尚 開源 的Android開發者,在過去的一段時間裡,我研究了Github上的一些優秀的開源庫,這些庫原始碼中那些 天馬行空 的 設計 和 思想 令我沉醉其中。 在我職
Flask Mega-Tutorial 中文教程 V2.0 第9章:分頁
最近在Flask Web Development作者部落格看到第二版Flask Mega-Tutorial已在2017年底更新,現翻譯給大家參考,希望幫助大家學習flask。 這是Flask Mega-Tutorial系列的第九章,其中我將告訴您如何對資料庫列表進行分頁
JSP頁面分頁顯示資料
一、原始碼(這裡以一個Java web的留言板專案為例): 1.Dao層操作資料庫的方法(MessageDao.java) 設定每頁顯示的最大留言條數: private final int MAX_SIZE = 2; // 每頁顯示的最大留言數 從資料庫讀取留言的總
jsp實現分頁顯示資訊(資料庫、EL表示式、連線池)
一、準備工作 1.1在mysql資料庫中你建立學生的表 1.2細節: 1.2.0. 先匯入musql的jar包 1.2.1. 性別一般用列舉型 1.2.2. 要將錶轉儲sql檔案,放在web專案額web-info下面
前臺jsp獲取後臺查詢的結果集資料並實現分頁顯示
前臺獲取後臺查詢的結果並分頁顯示。 1、使用ajax非同步請求,傳送post請求到url,獲取結果引數data(data被dao層處理成json物件返回) 2、返回的結果: 在dao處理後(根據userId查詢結果集)向service返回的結果,是一個json物件:re
作業系統核心原理-5.記憶體管理(中):分頁記憶體管理
在上一篇介紹的幾種多道程式設計的記憶體管理模式中,以交換記憶體管理最為靈活和先進。但是這種策略也存在很多重大問題,而其中最重要的兩個問題就是空間浪費和程式大小受限。那麼有什麼辦法可以解決交換記憶體存在的這些問題呢?答案是分頁,它是我們解決交換缺陷的“不二法門”。 一、分頁記憶體管理 1.1 解決問題之
servlet+mvc實現分頁顯示列表頁
實現分頁顯示有好多種方法,有客戶端顯示的用JS,有服務端分頁的。在此我對服務端的分頁功能進行敘述 先展示下我的專案的目錄結構: 標準的MVC模式,現在我的分頁步驟是從jsp呼叫servlet,通過servlet呼叫對應的service類,service類
JSP的分頁顯示的程式碼和詳細步驟
首先要定義四個變數: int pageSize:每頁顯示多少條記錄 int pageNow:希望顯示第幾頁 int pageCount:一共有多少頁 int rowCount:一共有多少條記錄 說明: pageSize是指定的 pageNow是使用者選擇的 rowCount