1. 程式人生 > >易生活(二)-web---商品列表顯示、分頁封裝、分頁處理

易生活(二)-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和jarJava核心類

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

布式爬蟲系統設計實現與實戰:爬取京東蘇寧購全網手機商品數據+MySQLHBase存儲

大數據 分布式 爬蟲 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