天天看點

java 分頁_Java自學之SSM:對資料分頁展示

學習目的:對SSM架構查詢到的資料進行分頁展示。

Part 1

建立一個控制分頁的類:Page

start:開始的位置

count:每頁展示的數量

last:最後一頁的位置

getlast():計算最後一頁的開始位置

package 
           

Part 2

Category.xml

total:檢視category_中的總記錄數。

list:從start的位置開始,繼續查詢出接下來的count個資料。

<?xml version="1.0" encoding="UTF-8"?>
           

Part 3

CategoryMapper

增加list(Page page),用于分頁查詢資料。

增加total(),用于查詢總資料的數量。

add(Category category),用于添加測試用的資料。

package 
           

Part 4

CategoryService

package cn.vaefun.service;

import cn.vaefun.pojo.Category;
import cn.vaefun.util.Page;

import java.util.List;

public interface CategoryService {
    List<Category> list();
    int total();
    List<Category> list(Page page);
}
           

Part 5

CategoryServiceImpl

package 
           

Part 6

CategoryController

給listCategory()方法加上Page page形參,用于接受分頁資訊注入

調用list(page),查詢資料儲存到cs中

page.getlast(service.total),根據總數計算出随後一頁的資訊。

package 
           

Part 7

修改listCategory.jsp,添加首頁、上一頁、下一頁、末頁等連結,以及防止超出範圍的判斷。

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" import="java.util.*"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<div style="width:500px;margin:0px auto;text-align:center">
    <table align='center'  cellspacing='0'>
        <tr>
            <td>id</td>
            <td>name</td>
        </tr>
        <c:forEach items="${cs}" var="c" varStatus="st">
            <tr>
                <td>${c.id}</td>
                <td>${c.name}</td>
            </tr>
        </c:forEach>
    </table>
    <div style="text-align:center">
        <a href="?start=0" target="_blank" rel="external nofollow" >首  頁</a>
        <a href="?start=${page.start-page.count<0?0:page.start-page.count}" target="_blank" rel="external nofollow" >上一頁</a>
        <a href="?start=${page.start+page.count>page.last?page.last:page.start+page.count}" target="_blank" rel="external nofollow" >下一頁</a>
        <a href="?start=${page.last}" target="_blank" rel="external nofollow" >末  頁</a>
    </div>
</div>
           

Part 8

測試代碼塊,運作tes測試代碼塊,向資料庫中添加資料。

@Autowired
    
           

Part 9

部署項目,在浏覽器位址欄通路:http://localhost:8080/ssm_war_exploded/listCategory

java 分頁_Java自學之SSM:對資料分頁展示

繼續閱讀