SsmAjaxJson分页效果的操作(第十七课)

简介: SsmAjaxJson分页效果的操作(第十七课)

本博客文章实现两个功能:

  • 1 数据库中表的数据查询操作
  • 2 实现分页的效果

第一部分 功能模块的展示页面信息图片为主

分页面的效果展示内容如下所示:

上面是一级联动不在介绍

 

主要实现分页的功能图一

 

主要实现分页的功能图二

 

 

 

主要实现分页的功能图三

 

主要实现分页的功能图四

 

主要实现分页的功能图六

增加的效果功能展示如下所示

增加的效果页面展示一

 

增加的效果页面展示二

 

 

增加的效果页面展示三

修改功能的展示页面

修改功能的展示页面一

 

修改功能的展示页面二

第二部分下面两个功能的实操

  • 1 数据库中表的数据查询操作
  • 2 实现分页的效果


前端展示的页面分段解析从上到下顺序

jquery的导入

CSS的页面美化

<style>
    * {
        font-family: 楷体;
        color: black;
        font-weight: bolder;
        font-size: 32px;
    }
    td {
        border-radius: 12px;
        font-family: "Fira Code";
        font-size: 20px;
        background-color: white;
        padding: 2px;
        color: lightskyblue;
        font-weight: bolder;
        width: 8%;
        height: 6%;
        border: 2px solid paleturquoise;
        text-align: center;
    }
    td:hover{
        background-color: lightseagreen;
        color: white;
    }
    input{
        border-radius: 12px;
    }
    th{
        border: dot-dash 3px red;
    }
    table {
        border: dot-dash 3px red;
        font-size:16px;
    }
    input {
        background-color: black;
        color: white;
    }
    #nav input{
        border-radius: 12px;
        width: 100px;
        height: 100px;
        font-family: "Fira Code";
        font-size: 16px;
        background-color: white;
        padding: 2px;
        color: lightskyblue;
        font-weight: bolder;
        border: 6px solid paleturquoise;
    }
    #nav input:hover{
        background-color: lightseagreen;
        color: white;
    }
</style>

Ajax的请求中有两个方法

<script type="application/javascript">
    var html = "";
    //当整个页面加载显示在浏览器后自动
    $(function () {
        $.ajax({
            url: "list.do",
            type: "GET",
            data: "",
            success: function (json) {
                //在数据还没有显示在表格之前将表格中标题存放起来
                html = $("table").html();
                //parseTable(json) parseTable(json.list)
                parseTable(json.list);
                nav(json);
            },
            error: function () {
                alert("用户连接失败");
            },
            dataType: "json"
        })
    })
    /*定义方法展示页码*/
    function fy(page) {
        $.ajax({
            url: "list.do",
            type: "GET",
            data: "ym=" + page,
            success: function (json) {
                //parseTable(json) parseTable(json.list)
                parseTable(json.list);
                nav(json);
            },
            error: function () {
                alert("用户连接失败");
            },
            dataType: "json"
        })
    }
    }
</script>

 

方法一 展示页面数据信息

 /*定义方法解析json格式 用于在表格中显示*/
    function parseTable(json) {
        /*将标题内容清空*/
        $("table").empty();
        /*将标题数据还原*/
        $("table").html(html);
        for (var i = 0; i < json.length; i++) {
            $("table").append("<tr>" +
                //    <input type='checkbox' class='box'>     按钮
                "<td><input type='checkbox' class='box'></td>" +
                /*增加tdsclass选择器*/
                "<td class='tds' >" + json[i].carId + "</td>" +
                "<td>" + json[i].carName + "</td>" +
                "<td>" + json[i].brandName + "</td>" +
                "<td>" + json[i].price + "</td>" +
                "<td>" + json[i].click + "</td" +
                "><td><input type='button' value='修改' onclick='update(" + json[i].carId + ")'  id='up'></td>" +
                "</tr>")
        }
    }

方法二 分页的效果展示

//定义方法 实现页面导航栏
    function nav(json) {
        $("#nav").empty();
        //   上一页按钮
        //    判断当前显示的是第几页的数据,当前一页是否为上一页 如果有上一页 显示上一页按钮
        if (!json.isFirstPage) {
            $("#nav").append("<input type='button' class='nav' onclick='fy(" + (json.pageNum - 1) + ")' value='《上一页'>");
        }
        //    页码实现
        for (var i = 0; i < json.navigatepageNums.length; i++) {
            //判断
            if (json.pageNum == json.navigatepageNums[i]) {
                $("#nav").append("<input type='button' class='nav' value='" + json.navigatepageNums[i] + "' onclick='fy(" + json.navigatepageNums[i] + ")'>")
            } else {
                $("#nav").append("<input type='button'  value='" + json.navigatepageNums[i] + "' onclick='fy(" + json.navigatepageNums[i] + ")'>")
            }
        }
        //    下一页的按钮
        //  判断当前显示的是否为下一页的数据,当前一页是否为上一页 如果有最后一页 不显示显示上一页按钮
        if (!json.isLastPage) {
            $("#nav").append("<input type='button' class='nav'  onclick='fy(" + (json.pageNum + 1) + ")' value='下一页》' >");
        }
    }

控制层SpringMvc

import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
public class CarControllerImp {
    @Autowired
    ICarService service;
    @RequestMapping("list.do")
    @ResponseBody
    public Object getList(@RequestParam(value = "ym", required = false, defaultValue = "1") int ym) {
        //配置分页信息默认数据为每页10条
//        第一步
            PageHelper.startPage(ym, 10);
//        从数据库中将数据信息查询所有数据   index.html
        List<Map<String, Object>> maps = service.getCarList();
//将所查询的所有数据按照配置信息
        PageInfo<Map<String, Object>> info = new PageInfo<>(maps);
        return info;
    }

业务逻辑层Spring  

  • public interface ICarService {   //接口对应的是下面的图片
  • public class CarServiceImp  implements  ICarService{ //实现类 对应的是下面的代码

接口

/**
 * @author MZFAITHDREAM
 * 2022/5/31
 */
@Service(value = "carService")
public class CarServiceImp  implements  ICarService{
    /*在servlect层中调用写入Dao层对象*/
    @Autowired
    ICarDao dao;
    @Override
    public List<Map<String, Object>> getCarList() {
        return dao.getCarList();
    }

数据访问层Dao 注解开发

/**
 * @author MZFAITHDREAM
 * 2022/5/31
 * Dao的接口中实现
 * 操作数据库的增删改查
 */
public interface ICarDao {
    @Select("SELECT * FROM car ")
    List<Map<String, Object>> getCarList();
    @Select("select distinct  price from car")
    List<String> getPrice();
    @Select("select distinct carName from car")
    List<String> getCarName();
    @Select("select distinct brandName from car")
    List<String> getBrand();

最终的效果

 

分页必要的架包

 

知识点

 

相关文章
|
1月前
|
算法
刷题专栏(二十一):区域和检索 - 数组不可变
刷题专栏(二十一):区域和检索 - 数组不可变
97 1
|
存储 编译器 C++
【C进阶】第十五篇——内存函数
【C进阶】第十五篇——内存函数
【C进阶】第十五篇——内存函数
|
Java 关系型数据库 MySQL
入门案例(使用的资源介绍)|学习笔记
快速学习入门案例(使用的资源介绍)
76 0
入门案例(使用的资源介绍)|学习笔记
|
JSON 前端开发 JavaScript
课程管理-修改课程信息(前端)| 学习笔记
简介:快速学习课程管理-修改课程信息(前端)
224 0
课程管理-修改课程信息(前端)| 学习笔记
|
canal 数据库 数据安全/隐私保护
项目的第十七天内容介绍 | 学习笔记
快速学习 项目的第十七天内容介绍
64 0
|
前端开发 开发者 微服务
项目第十六天内容介绍 | 学习笔记
快速学习 项目第十六天内容介绍
56 0
|
前端开发 JavaScript API
课程列表前端(1)| 学习笔记
简介:快速学习课程列表前端(1)
509 0
|
C# 索引
C#编程-49:分组类控件复习笔记
C#编程-49:分组类控件复习笔记
100 0
|
前端开发
前端进阶|第十五天 位置有先后,排序很重要
前端进阶|第十五天 位置有先后,排序很重要
562 0