易生活(二)-web---商品列表顯示、分頁封裝、分頁處理
目錄
- 商品列表顯示業務邏輯分析
- 分頁的的封裝思路
- 分頁的處理
商品列表顯示業務邏輯分析
核心邏輯
/* * 顯示商品list邏輯: * 第一步:獲取請求頁碼。如果第一次請求,預設頁碼是1。 * 第二步:根據頁碼獲取相應商品List和商品總條數。 * 第三步:根據商品id獲取商家bean。 * 第四步:根據當前頁碼、商品List、商品總條數、每頁條數(全域性引數)封裝PagerBean(注意,該bean包括所有需要的資訊,包括List,頁碼各種資訊等). * 我們需要回傳的資料:只有一個Pager */
分頁的的封裝思路
Pager.java
public class Pager<T> { public int perSize = ParamUtils.PERPAGE;// 每頁條數 private int nowPager; // 當前頁 private int totalPageNum; // 總頁數 private int totalRecordNum; // 總條數 private List<T> objects; // 獲取的資訊列表 //Getter、Setter... }
將Pager定義成一個泛型Pager主要是為了變數List考慮,因為List可能是各種物品的List,比如商品、商家、客戶等。
- 其它資訊不再說明,全部都有註釋。
- 這樣封裝,我們可以保證所有我們需要的俺叔全部在這個“Pager”裡面,我們向頁面返回資料時,只要返回一個Pager即可。
- 注意,我們可能需要的一些引數不再List這個“T”裡面,這是一個bean,我們可以在該bean中新增需要的成員變數即可。保證返回資料的“高聚性”。
分頁的處理
我們首先建立一個特別特別簡單的頁面處理工具類,看似簡單,卻使分頁處理簡單許多
public class PageUtils { /** * @param pager * 當前頁 。返回limit m,n 的第一個引數 */ public static int getParam1(int pager) { int param1 = (pager - 1) * ParamUtils.PERPAGE; return param1; } /** * @param totalRecordNum * 資訊總條數 。返回 總頁數 */ public static int getPagersByNums(int totalRecordNum) { int totalPageNum = (totalRecordNum + ParamUtils.PERPAGE - 1) / ParamUtils.PERPAGE; return totalPageNum; } }
核心部分非常簡單
public Pager<Goods> getGoodsPager(int page) { IGoodsDao goodsDao = new GoodsDao(); Pager<Goods> p=new Pager<Goods>(); List<Goods> goodsList=goodsDao.getGoodsList(page);//過去List引數 int count =goodsDao.getGoodsCount();//獲取總條數 p.setNowPager(page);//設定當前頁 p.setPerSize(ParamUtils.PERPAGE);//設定每頁大小 p.setTotalRecordNum(count);//設定總條數 p.setTotalPageNum(PageUtils.getPagersByNums(count));//設定總頁數 p.setObjects(goodsList);//封裝資訊list return p; }
相關推薦
易生活(二)-web---商品列表顯示、分頁封裝、分頁處理
目錄 商品列表顯示業務邏輯分析 分頁的的封裝思路 分頁的處理 商品列表顯示業務邏輯分析 核心邏輯 /* * 顯示商品list邏輯: * 第一步:獲取請求頁碼
作業30——首頁列表顯示全部問答,完成問答詳情頁布局。
styles title ~~ form base extend icon apc extends 首頁列表顯示全部問答: 將數據庫查詢結果傳遞到前端頁面 Question.query.all() 前端頁面循環顯示整個列表。 問答排序 @app.route(‘/
首頁列表顯示全部問答,完成問答詳情頁布局(12.1)
lis 前端 ren 技術 url styles 數據庫查詢 col min 首頁列表顯示全部問答: 將數據庫查詢結果傳遞到前端頁面 Question.query.all() 前端頁面循環顯示整個列表。 問答排序 shouye.html {% extends ‘base.
首頁列表顯示全部問答,完成問答詳情頁布局。
includes mit tail style cal clu sub pull static 首頁首頁列表顯示全部問答: 將數據庫查詢結果傳遞到前端頁面 Question.query.all() 前端頁面循環顯示整個列表。 問答排序 py文件: @app.rout
首頁列表顯示全部問答,完成問答詳情頁布局
-m comm emp nbsp 時間 div all contex -i {% block body %} <div class="container"> <div class="row clearfix"> &l
C++數據抽象、數據封裝、接口(抽象類)
adt 優勢 函數 需求 pro 可用 code eight eth 一 、數據抽象 數據抽象是指,只向外界提供關鍵信息,並隱藏其後臺的實現細節,即只表現必要的信息而不呈現細節。 數據抽象是一種依賴於接口(抽象類)和實現分離的編程(設計)技術。C++ 類為數據抽象提供了可能
Java物件和例項的關係、Java資料封裝、Java繼承和多型、Java抽象類和介面、Java靜態欄位和方法、Java包和作用域、Java的classpath和jar、Java核心類
Java物件和例項的關係: 面向物件程式設計(Object-Oriented Programming),是對現實世界建立計算機模型的一種方法。 class是物件的模板,它定義瞭如何建立例項,class的名字就是資料型別。一個class裡可以有多個欄位(field),欄位用
JAVA-單元測試、欄位封裝、構造器、方法過載
單元測試 單元測試主要是用於提高編寫程式碼質量,編寫單元測試來對我們所編寫的方法進行測試。 單元測試是開發人員編寫 單元測試依賴Junit 這個框架 單元測試方法上需加@Test assertXXX斷言,主要是用於判斷測試的通過的條件。 欄位封裝 public
Ecshop模板開發(二十九):商品列表、排序、分頁顯示
1、goods_list.lbi <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <div class="box"> <div c
【JAVAEE學習筆記】hibernate02:實體規則、對象狀態、緩存、事務、批量查詢和實現客戶列表顯示
使用 ins tro trace ges create 綁定 criteria 命名 一、hibernate中的實體規則 實體類創建的註意事項 1.持久化類提供無參數構造 2.成員變量私有,提供共有get/set方法訪問.需提供屬性 3.持久化類中的屬性,應盡量使用包
Android掃碼二維碼、美女瀑布流、知乎網易音樂、動畫源碼等
代碼 安裝 開發工具 -c dep 更多 應用程序 strip 瀏覽器中 Android精選源碼 QRCode 掃描二維碼、掃描條形碼、相冊獲取圖片後識別、生... 一個簡潔好看的loading彈窗 Android用瀑布流展示美女圖片源碼
Spring4 In Action-5.2.3-Spring Web應用程序-向頁面輸出列表、接收參數、接收表單
pla data prot template ack bin 通過 final span 源代碼鏈接:http://download.csdn.net/download/poiuy1991719/10117665 本代碼是基於數據庫表的操作,所以請先建立數據庫表 1
分布式爬蟲系統設計、實現與實戰:爬取京東、蘇寧易購全網手機商品數據+MySQL、HBase存儲
大數據 分布式 爬蟲 Java Redis [TOC] 1 概述 在不用爬蟲框架的情況,經過多方學習,嘗試實現了一個分布式爬蟲系統,並且可以將數據保存到不同地方,類似MySQL、HBase等。 基於面向接口的編碼思想來開發,因此這個系統具有一定的擴展性,有興趣的朋友直接看一下代碼,就能理
python全棧學習總結二:數字、字符串、列表、元組、字典重要特點及方法
info ted 填充 tde 拼接字符串 enc 支持中文 display sort 一 python中數據類型 整形:int 字符串:str 列表:list 元組:tuple 字典:dict 布爾值:bool 浮點型:float 一切皆對
四、京東商品列表查詢
prop fashion ket www. ray jsp set can 經營 product_list.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi
前端 高階 (二十五)vue2.0專案實戰一 配置簡要說明、程式碼簡要說明、Import/Export、輪播和列表例子
一、啟動服務自動開啟瀏覽器執行 二、配置簡要說明 1、node_modules 安裝好的依賴檔案,中介軟體等,所在位置 2、package.jason 配置當前專案要安裝的中介軟體和依賴檔案 { "name": "my-app", "ver
組合語言(十二)顏色搭配顯示+BIOS功能呼叫表+INT 10H功能詳細列表
幾種比較和諧的文字背景顏色搭配 一張色環圖教你搞定配色! 顏色顯示 二進位制數 顏色 例子 二進位制數 顏色 例子 0000 黑色 black
9、商品列表查詢
商品列表查詢 點選查詢商品: 傳送的請求為:GET http://localhost:8081/item/list?page=1&rows=30 對應的 jsp 頁面為:item-list.jsp 請求的 url:/item/list 請求的引數:page
4、商品列表查詢
商品列表查詢 專案原始碼 jsp為item-list.jsp ,是一個jsp片段,所以點選時,始終是一個頁面。 點選時,響應的是一個HTML片段。 下面這個片段是一個easyui-datagrid表格,樣式是在index.jsp裡面引入的。 因為始終都是在index.jsp這個頁面。
DAY105 - 路飛學城(二)- 路飛學城之emement-ui、課程列表分頁,課程詳情
一、emement-ui 1.下載 npm install element-ui 2.使用 # main.js中配置 import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; Vue.use(E