Bootstrap Table 实现简单的查询和显示功能

本文介绍如何利用Bootstrap Table进行简单的查询和数据显示。通过引入必要的CSS和JS文件,结合jsp页面、JavaScript以及后台Controller的代码,实现了前端界面的查询功能并展示数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近用bootstraptable写了一个查询显示的界面。

下面是主要代码:

 

1.    我引入的css和js

<link rel="stylesheet" href="${basePath}/css/bootstrap.min.css" >

    <link rel="stylesheet" href="${basePath}/css/bootstrap-table.min.css"/>

    <link rel="stylesheet" href="${basePath}/css/query.css">

    <link rel="stylesheet" type="text/css"    href="http://www.jq22.com/jquery/font-awesome.4.6.0.css">

    <script type="text/javascript" src="${basePath}/js/jquery-2.2.4.min.js"></script>

    <script type="text/javascript" src="${basePath}/js/bootstrap.min.js"></script>

    <script type="text/javascript" src="${basePath}/js/bootstrap-table.min.js"></script>

    <script type="text/javascript" src="${basePath}/js/bootstrap-table-locale-all.min.js"></script>

    <script type="text/javascript" src="${basePath}/js/query.js"></script>

  

 

2.    jsp的页面代码:

<body>

<div class="panel panel-default">

   

    <input type="hidden" id="basePath" name="basePath" value="<%=basePath %>"/>

    <div class="panel panel-success" id="main">

        <input type="hidden" id="message" name="message" value="${message }"/>

       <!--主体  -->

        <div class="panel-heading">

            

            <h3 class="panel-title">信息查询</h3>

        </div>

       <!-- 标头 -->

        <div class="panel-body">

           <div class="title">

                  

            <div class="announce-info">

             <form action="<%=basePath %>/table/page" method="post">

                    <table class="table table-bordered">

                       <tbody>

                       <tr>

                                 <td class="heading">协议单位编码</td>

                                 <td>

                                     <div class="form-group">

                                             <input type="text" class="form-control" id="PROTOCOL_CODE" name="PROTOCOL_CODE" value="${pb.PROTOCOL_CODE}"/>

                                     </div>

                                 </td>

                                 <td  class="heading">协议单位名称</td>

                                 <td>

                                     <div class="form-group">

                                            <input type="text" class="form-control" id="PROTOCOL_NAME" name="PROTOCOL_NAME" value="${pb.PROTOCOL_NAME}"/>

                                     </div>

                                </td>

                          </tr>

                          <tr>

                                 <td class="heading">开业时间</td>

                                 <td>

                                     <div class="form-group">

                                             <input type="date" class="form-control" id="startTime" name="startTime" />

                                           <!--   <input class="form-control optsdate" id="BRAND_QUALIFICATION_DATE" name="BRAND_QUALIFICATION_DATE" type="text" placeholder="请选择日期" readonly> -->

                                     </div>

                                 </td>

                                 <td  class="heading"></td>

                                 <td>

                                     <div class="form-group">

                                           <input type="date" class="form-control" id="endTime" name="endTime" />

                                            <!-- <input class="form-control optsdate" id="BRAND_QUALIFICATION_DATE" name="BRAND_QUALIFICATION_DATE" type="text" placeholder="请选择日期" readonly> -->

                                     </div>

                                </td>

                          </tr>

                          <tr>

                            <td class="heading">协议单位状态</td>

                                  <td  class="heading">

                                  <div class="form-group">

                                  <input type="text" class="form-control" id="PROTOCOL_STATUS" name="PROTOCOL_STATUS" value="${pb.OPEN_DATE}"/>

                                  </div>

                                  </td>

                                  <td class="heading">协议单位类型</td>

                                 <td>

                                      <div class="form-group">

                                        <select class="form-control"  id="PROTOCOL_TYPE" name="PROTOCOL_TYPE" >

                                          <option value="${pb.PROTOCOL_TYPE }"></option>

                                          <option value="非直营二网">非直营二网</option>

                                          <option value="二手车零售店">二手车零售店</option>

                                          <option value="展厅">展厅</option>

                                          <option value="快修/社区店">快修/社区店</option>

                                        </select>

                                     </div>

                                </td>

                          </tr>

                          <tr>

                         

                                 <td colspan="4" class="heading">

                                      <button type="submit" class="btn btn-default btn-sm"><i class="fa fa-search fa-large"></i>查询</button>

                                      <button type="reset" class="btn btn-default btn-sm" style=" margin-right: 30px;"><i class="fa fa-undo fa-large"></i>重置</button>

                                 </td>     

                          </tr>

                       </tbody>

                       </table>

                       </form>

                       </div>

                 </div>

        </div>

    <table id="table"></table>

    </div>

    </div>

</body>

 

3.    下面是js中的代码:

$(function () {

alert("jsa");

    //1.初始化Table

    var oTable = new TableInit();

    oTable.Init();

    var message = document.getElementById("message").value;

    if(message != null &&message != "" ){

        alert(message);

    }

});

 

 

var TableInit = function () {

    var oTableInit = new Object();

    //初始化Table

   

    var basePath=$("#basePath").val();

    alert(basePath);

    oTableInit.Init = function () {

        $('#table').bootstrapTable({

            method: 'post',

            contentType: "application/x-www-form-urlencoded",

            url: basePath+'/table/init',     //请求后台的URL*

            toolbar: '#toolbar',                                            //工具按钮用哪个容器

            striped: true,        //是否显示行间隔色

          

            locale:'zh-CN',                                              //中文支持

            pagination: true,                                        //是否开启分页(*

            pageNumber:1,                                            //初始化加载第一页,默认第一页

            pageSize: 7,                                              //每页的记录行数(*

            pageList: [5,7,9],                                       //可供选择的每页的行数(*

            sidePagination: "server"//分页方式:client客户端分页,server服务端分页(*

           

            showRefresh:true,                                        //刷新按钮

            queryParams: oTableInit.queryParams,               //传递参数(*

            strictSearch: true,

            showColumns: true,                                          //是否显示所有的列

            showRefresh: true,                                          //是否显示刷新按钮

            minimumCountColumns: 2,                                 //最少允许的列数

            clickToSelect: true,                                   //是否启用点击选中行

           

          

            height: 500,                                                     //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度

            uniqueId: "PROTOCOL_ID",                                                //每一行的唯一标识,一般为主键列

            showToggle:true,                                            //是否显示详细视图和列表视图的切换按钮

            cardView: false,                                                //是否显示详细视图

            detailView: false,                                              //是否显示父子表

            columns: [{ 

                field: 'PROTOCOL_CODE'

                title: '协议单位编码'

            }, {

                field: 'PROTOCOL_NAME',

                align: 'center',

                title: '协议单位名称'

            }, {

                field: 'PROTOCOL_TYPE',

                align: 'center',

                title: '协议单位类型',

            }, {

                field: 'PROTOCOL_STATUS',

                align: 'center',

                title: '协议单位状态',

            }, {

                field: 'timeStr',

                title: '开业日期',

                align: 'center',

             

            }, {

                field: 'ADDR',

                title: '联系地址',

                align: 'center',

             

            }, {

                field: 'MANAGER_TEL',

                title: '店长电话',

                align: 'center',

             

            }, {

                field: 'EMAIL',

                title: '邮箱',

                align: 'center',

            }, {

                field: 'publisher',

                title: '店长姓名',

                align: 'center',

             

            }, {

                title: '操作',

                align: 'center',

                formatter:function(value,row,index){ 

                    var update = '<a href="javascript:update(\''+ row.PROTOCOL_ID + '\')">修改</a> ';

                    var del = '<a href="javascript:dlt(\''+ row.PROTOCOL_ID + '\')">删除</a> ';

                    return update+del; 

              }

            }]

        });

    };

 

    //得到查询的参数

    oTableInit.queryParams = function (params) {

        var temp = {   //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的

            limit: params.limit,   //页面大小

            offset: params.offset,  //偏移量

            docNo: $("#PROTOCOL_CODE").val(),

            title: $("#PROTOCOL_NAME").val(),

            startTime: $("#startTime").val(),

            endTime: $("#endTime").val(),

            brand: $("#PROTOCOL_STATUS").val(),

            important: $("#PROTOCOL_TYPE").val()

        };

        return temp;

    };

    return oTableInit;

};

 

function dlt(id)

{

    var basePath = $("#basePath").val();

    var url = basePath+"/table/delete?PROTOCOL_ID="+id;

    window.location.href=url;

}

 

function update(id)

{

    var basePath = $("#basePath").val();

     window.location.href=basePath+"/table/toupdate?PROTOCOL_ID="+id;

}

 

 

4.    后台controller中的代码:

@RequestMapping(value = "/init")

    publicvoid init(ProtocolBean pb,HttpServletRequest request, HttpServletResponse response) throws SQLException, IOException {

 

       intlimit = Integer.parseInt(request.getParameter("limit"));// 页面大小

       intoffset = Integer.parseInt(request.getParameter("offset")); // 偏移量

           Map<String, Object> condition = new HashMap<String, Object>();

            if (pb.getPROTOCOL_CODE()!= null)

            {

                condition.put("PROTOCOL_CODE", pb.getPROTOCOL_CODE());

            }

            if (pb.getPROTOCOL_NAME()!= null)

            {

                condition.put("PROTOCOL_NAME", pb.getPROTOCOL_NAME());

            }

            if (pb.getStartTime()!= null)

            {

                condition.put("startTime", pb.getStartTime());

            }

            //判断发文终止时间

            if (pb.getEndTime()!= null)

            {

                condition.put("endTime", pb.getEndTime());

            }

            if (pb.getPROTOCOL_STATUS()!= null)

            {

                condition.put("PROTOCOL_STATUS",pb.getPROTOCOL_STATUS() );

            }

            if (pb.getPROTOCOL_TYPE()!= null)

            {

                condition.put("PROTOCOL_TYPE", pb.getPROTOCOL_TYPE());

            }

            condition.put("limit", limit);

            condition.put("offset", offset);

            System.out.println("init3======");

            System.out.println(condition);

       // 2. 查询数据

       List<ProtocolBean> list = protocolMapper.queryByCondition(condition);

      

       if(list.isEmpty())

       {

       System.out.println("isEmpty======");

       }

       // 4.把数据转化成json格式

       JSONArray array = JSONArray.fromObject(list);

 

       // 5.获取总页数

       Integer pageCount = protocolMapper.queryCount();

 

       // 6.需要返回的数据有总记录数和行数据

       String json = "{\"total\":" + pageCount + ",\"rows\":" + array + "}";

       PrintWriter pw = response.getWriter();

       pw.print(json);

    }

 

下面是我的前台运行结果:


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值