0

查询出结果后,选择第二页时,页面数据又变回原来未查询的数据了,
也就是说打开第二页的时候没有带上查询的参数。
这是bootstrap-table的初始化函数

//查询栏
function userquery(){
    var data=$("#formSearch").serialize();
    $.post(
    '/yycgproject/queryUser_result',
    data,
    function(msg){
        //这里必须接收json对象
        //此处判断不能简写为!msg
            
            $('#tb_departments').bootstrapTable('load',msg);
        
    },
    'json'
    );
    
    
};
$(function() {

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    /* var oButtonInit = new ButtonInit();
    oButtonInit.Init(); */

});

var TableInit = function() {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function() {
        $('#tb_departments').bootstrapTable({
            url : '/yycgproject/queryUser_result', //请求后台的URL(*)
            method : 'get', //请求方式(*)
            toolbar : '#toolbar', //工具按钮用哪个容器
            striped : true, //是否显示行间隔色
            cache : false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            pagination : true, //是否显示分页(*)
            sortable : false, //是否启用排序
            sortOrder : "asc", //排序方式

            queryParamsType : '',
            queryParams : oTableInit.queryParams,//传递参数(*)
            sidePagination : "server", //分页方式:client客户端分页,server服务端分页(*)
            pageNumber : 1, //初始化加载第一页,默认第一页
            pageSize : 10, //每页的记录行数(*)
            pageList : [ 10, 25, 50, 100 ], //可供选择的每页的行数(*)
            strictSearch : true,
            clickToSelect : true, //是否启用点击选中行
        /*     height : 550, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度 */
            uniqueId : "userid", //每一行的唯一标识,一般为主键列
            cardView : false, //是否显示详细视图
            detailView : false, //是否显示父子表
            columns : [ {
                field : 'userid',
                title : '账号'
            }, {
                field : 'username',
                title : '名称'
            }, {
                field : 'groupid',
                title : '用户类型',
                formatter : function(value, row, index) {
                    if (value == 1) {
                        return "卫生局";
                    } else if (value == 2) {
                        return "卫生院";
                    } else if (value == 3) {
                        return "卫生室";
                    } else if (value == 4) {
                        return "供货商";
                    } else if (value == 0) {
                        return "管理员";
                    }
                }
            }, {
                field : 'sysmc',
                title : '所属单位'
            }, {
                field : 'userstate',
                title : '状态'
            } ]
        });
    };

    //得到查询的参数
    oTableInit.queryParams = function(params) {
    
        var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
            pageSize : params.pageSize, //页面大小
            pageNum : params.pageNumber,//页码
            /* sysuserCustom.groupid:groupid */
            groupid:$('#txt_search_type').val()
        };
        return temp;
    };
    return oTableInit;
};

再上面的查询参数设置中,设置了groupid:$('#txt_search_type').val(),让groupid传到后台,但是后台的controller中
//根据页面的条件查询数据

@RequestMapping("/queryUser_result")
@ResponseBody
public DataGridResultInfo queryByVo(SysuserQueryVo sysuserQueryVo,@RequestParam(defaultValue="10")int pageSize,@RequestParam(defaultValue
        ="1")int pageNum) throws Exception{
    
    
    DataGridResultInfo resultInfo = userService.findSysuserList(sysuserQueryVo, pageSize, pageNum);
    return resultInfo;
}

是用 sysuserQueryVo 这个pojo接收了,传过去的参数并无法装配到pojo中,
希望大佬指教一下,查询后的分页功能是怎么实现的

1个回答

0

已采纳

在查询的参数添加查询的参数,然后后台使用request.getParameter()的方式接收即可

撰写答案