springmvc pager-taglib 分页,bootstrap样式

注意:

嵌入到项目中时必须以带参形式访问:

http://localhost:8081/DETECT-X/showConnLogsByPager.action?pageSize=5&pager.offset=0&pageNo=1

导入 Maven 依赖:

        <!-- https://mvnrepository.com/artifact/jsptags/pager-taglib -->
        <dependency>
            <groupId>jsptags</groupId>
            <artifactId>pager-taglib</artifactId>
            <version>2.0</version>
        </dependency>

Controller:

ConnLogs 为 bean
 pi.setTotal(117);  // 这里的Total值是指的所有记录,也就是数据条数总数,这个要从数据库中拿,这里是用的静态数据测试
@RequestMapping("showConnLogsByPager")
    public ModelAndView showConnLogsByPager(PageInfo<ConnLogs> pi) {
        ModelAndView modelAndView = new ModelAndView("/jsp/ConnLogs/ConnLogsViewer.jsp");
        RepoDao repoDao=new RepoDaoImp();
        int userId = (int) request.getSession().getAttribute("userId");
        int pagerOOfset = Integer.parseInt(request.getParameter("pager.offset"));

        pi.setTotal(117);
        pi.setPageSize(5);

        List<ConnLogs> connLogs = repoDao.showPage(userId,pagerOOfset, 10);
        modelAndView.addObject("connLogs", connLogs);

        modelAndView.addObject("pi", pi);
        return modelAndView;
    }

sql语句:

SELECT * FROM conn_logs WHERE uid=? ORDER BY gid DESC LIMIT ?,?

jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="pg" uri="http://jsptags.com/tags/navigation/pager" %>

<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <base href="<%= basePath %>"/>
    <title>default page</title>
    <meta id="pageSizeByMeta" content="${pi.pageSize }">
    <%--<link rel="stylesheet" href="/DETECT-X/disableBodySelect.css">--%>
    <link rel="stylesheet" href="/DETECT-X/bootstrap_3.3.6/bootstrap.min.css">
    <script src="/DETECT-X/jquery.min.js"></script>
    <script src="/DETECT-X/bootstrap_3.3.6/bootstrap.min.js"></script>
</head>
<body>
<br>
<br>
<br>
<br>

<table class="table table-striped">
    <thead>
    <tr>
        <td>gid</td>
        <td>warnningPtLink</td>
    </tr>
    </thead>
    <tbody>
    <c:forEach var="C" items="${connLogs}">
        <tr>
            <td>${C.gid}</td>
            <td>${C.warningPtLink}</td>
        </tr>
    </c:forEach>

    </tbody>
</table>

<nav>
    <ul class="pagination">
        <pg:pager url="showConnLogsByPager.action" items="${pi.total }" maxPageItems="${pi.pageSize }"
                  export="currentPageNumber=pageNumber">
            <pg:param name="pageSize" value="${pi.pageSize }"/>
            <pg:first>
                <li><a href="${pageUrl}&pageNo=${pageNumber }"><span class="glyphicon glyphicon-home"></span></a></li>
            </pg:first>
            <pg:prev>
                <li>
                    <a href="${pageUrl }&pageNo=${pageNumber }" aria-label="Previous">
                        <span class="glyphicon glyphicon-triangle-left" aria-hidden="true"></span>
                    </a>
                </li>
            </pg:prev>
            <pg:pages>
                <c:choose>
                    <c:when test="${pageNumber eq currentPageNumber }">
                        <li><a><font color="red">${pageNumber }</font></a></li>
                    </c:when>
                    <c:otherwise>
                        <li>
                            <a href="${pageUrl }&pageNo=${pageNumber }">${pageNumber }</a>
                        </li>
                    </c:otherwise>
                </c:choose>
            </pg:pages>
            <pg:next>
                <li>
                    <a href="${pageUrl }&pageNo=${pageNumber }" aria-label="Next">
                        <span class="glyphicon glyphicon-triangle-right" aria-hidden="true"></span>
                    </a>
                </li>
            </pg:next>
            <pg:last>
                <li><a href="${pageUrl }&pageNo=${pageNumber }"><font
                        class="glyphicon glyphicon-modal-window"></font></a></li>
            </pg:last>

        </pg:pager>

        <script>
            $(function () {
                $("#gotoPageByMetro").click(function () {

                    var pageNum = $("#beGotoPageNum").val();
                    var pageSizeOfJs = $("#pageSizeByMeta").attr("content");
                    console.log(pageSizeOfJs + " " + pageNum);
                    // pageNum (页码) 需要 -1 后 再乘以 pagesize ,才能得到正确的 pager.offset 值
                    var pagerOffset = pageSizeOfJs * (pageNum - 1);

                    window.location.href = "showConnLogsByPager.action?pageSize=${pi.pageSize }&pager.offset=" + pagerOffset + "&pageNo=" + pageNum;

                });

                //    给检索框绑定回车事件
                $(‘#beGotoPageNum‘).bind(‘keypress‘, function (event) {
                    if (event.keyCode == "13") {
                        var pageNum = $("#beGotoPageNum").val();
                        var pageSizeOfJs = $("#pageSizeByMeta").attr("content");
                        console.log(pageSizeOfJs + " " + pageNum);
                        // pageNum (页码) 需要 -1 后 再乘以 pagesize ,才能得到正确的 pager.offset 值
                        var pagerOffset = pageSizeOfJs * (pageNum - 1);

                        window.location.href = "showConnLogsByPager.action?pageSize=${pi.pageSize }&pager.offset=" + pagerOffset + "&pageNo=" + pageNum;
                    }
                });

            });

        </script>
        <div class="col-lg-2">
            <div class="input-group">
                <input id="beGotoPageNum" type="text" class="form-control">
                <span class="input-group-btn">
                        <button id="gotoPageByMetro" class="btn btn-default" type="button">
                            <span class="glyphicon glyphicon-modal-window"></span>
                        </button>
                    </span>
            </div><!-- /input-group -->
        </div><!-- /.col-lg-6 -->
    </ul>
</nav>

</body>
</html>

原文地址:https://www.cnblogs.com/kinome/p/9009294.html

时间: 2024-11-12 13:27:34

springmvc pager-taglib 分页,bootstrap样式的相关文章

asp.net mvc 简易通用自定义Pager实现分页

asp.net mvc 简易通用自定义Pager实现分页 Intro 一个WEB应用程序中经常会用到数据分页,本文将实现一个简单通用的分页组件,包含一个 PagerModel (用来保存页码信息),一个 HtmlHelper 的 Pager 扩展方法和一个 PagedListModel<T> 分页数据模型. PagerModel 分页模型 PagerModel 用来保存分页信息,代码实现如下: 1 /// <summary> 2 /// PagerModel 分页模型 3 ///

jqgrid+bootstrap样式实践

jqgrid+bootstrap样式实践,报错数据加载,选中,删除等功能 需要引入的样式 bootstrap.min.css ui.jqgrid.css 需要引入的JS jquery.min.js bootstrap.min.js jquery.jqGrid.min.js html代码: [html] view plain copy <div class="jqGrid_wrapper"> <table id="jqGridList"><

Maven构建大型互联网架构SpringMVC+Mybatis+rest+webservice+bootstrap

项目Maven构建,模拟大型互联网架构,做到高并发,大数据处理,整个项目使用定制化服务思想,提供原子化.模块化的方案,将功能模块进行拆分,可以公用到所有的项目中.架构采用分布式部署架构,所有模块进行拆分,使项目做到绝对解耦,稳定压倒一切~~ 团队研发,非喜勿喷,[源码获取地址] 架构免费咨询企 鹅:3121O26417 框架简介: 持续集成: 我的待办工作流服务(提供Webservice服务) 我的待办工作流集成JMS消息服务(支持高并发,可支持成千上万系统集成) 我的任务提供Rest服务,能够

datatables 配套bootstrap样式使用小结(2) ajax篇

距离上一篇有点时间了,周末做了伴郎参加了一个土豪同学的婚礼. 上一篇是介绍一下基本的用法,基本的原理是取出所有的数据,然后调用$.datatables(option)方法格式化,这种方法显然不太科学,所以ajax方式是必须的. 首先上个效果图. js和css引用方面依旧没有变化,详见上篇. Html页面: @{ ViewBag.Title = "DataTableServer"; } @{ //两种身份 List<SelectListItem> discriminatorT

Yii2框架bootstrap样式理解

Yii2框架默认采用了bootstrap作为CSS风格,各种视图类组件都如此.之前一直采用默认风格,并在必要的时候添加或者修改一下class来达到目的.但在改版Yii1.1的orange项目时,发现之前也是套的模板,其实没有好好去理解一下bootstrap的那套规则,所以顺便大致梳理一下吧.以basic模板为例,对照http://v3.bootcss.com/css/ 上的内容进行. 看layouts/main.php,Yii2默认以HTML5文档类型进行的了,但语言默认是en-US,所以要改,

js 重写 bootstrap 样式 alert/confirm 消息窗口

相信很多人都受够了 alert.confirm 的样子,最近正在用 bootstrap 做项目,顺便封装了一个 bootstrap 样式的消息框. 实现起来很简单,bootstrap 本身就自带了 modal 模态框,样子还不错 :)就把它封装一下用吧. 无码无真相,少说多做,上代码. 项目是Asp.net Mvc架构的,方便全局调用,我直接在全局 Layout 页面加上以下HTML: <!-- system modal start --> <div id="ycf-alert

CSS3 3D分页按钮样式

<!DOCTYPE html><html><head><meta charset="utf-8" /><title>石家庄礼品公司</title><style>.ui-page{border: 0px;background: #37578C;background: -webkit-linear-gradient(#37578C, #608BAE);background: -moz-linear-grad

分页css样式 class引用

.page_nav{clear:both; padding:15px 0; color:#666; font:normal 12px/24px Arial; text-align:center;}.page_nav a{display:inline-block; height:22px; margin:0 2px; padding:0 8px; text-decoration:none; border:solid 1px #dbe5ee; -moz-border-radius:2px; -web

Yii 之分页 + bootstrap

controller $criteria = new CDbCriteria; $criteria->order = 'id asc'; //这边还可以写其他的sql语句 $count = Bankinfo::model()->count($criteria); $pages = new CPagination($count); $pages->pageSize = 1; $pages->applylimit($criteria); $bankinfos = Bankinfo::m

Angular中使用bootstrap样式

Angular中使用bootstrap样式 Angular中引入bootstrap的方法 ? 方法1:在Angular.json中的styles数组中添加bootstrap路径 如下所示: "styles": [ "src/styles.css", "./node_modules/bootstrap/dist/css/bootstrap.min.css" ] 这里需要注意路径问题,不同Angular版本下,Angular.json的位置可能有所不