EasyUi组合条件分页查询

1.引入css与js文件

<link rel="stylesheet" type="text/css" href="themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="themes/icon.css">
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>
<script src="js/easyui-lang-zh_CN.js" type="text/javascript"
    charset="utf-8"></script>

 2.JSP中准备分页标签

        <!-- 如果pageBean的总数大于8显示分页 -->
        <c:if test="${pageBean.totalCount > 8}">
            <div id="paginationID"
                style="background: #efefef; border: 1px solid #ccc; width: 100%"></div>
        </c:if>

 

 3.JS动态创建分页

复制代码
<script type="text/javascript">
//pagination组建名
$('#paginationID').pagination({
    //            组件属性
    "total": ${pageBean.totalCount},
    "pageSize": 8,
    "pageNumber": ${pageBean.currentPage},
    "pageList": [8],
    "layout": ['list', 'sep', 'first', 'prev', 'manual', 'next', 'last', 'links'],
    "onSelectPage": function(pageNumber, b) {
     /*     alert("pageNumber=" + pageNumber);
        alert("pageSize=" + b); */ 
        
        var url="${pageContext.request.contextPath }/fenYe?currentPage="+pageNumber+"&queryName=${queryName}&queryAddress=${queryAddress}&queryDate=${queryDate}&getTag=getMethod";
        url= encodeURI(url);
        window.location.href=url;     
    }
});
</script>
复制代码

 

   pageSize:是默认的每页大小,pageNumber是页号,从pageBean中获取,pageList是支持的每页数量,layout是显示的控件。

  onSelectPage是点击页号时进行的操作,第一个参数代表页号,第二个参数代表每页大小(EasyUI自动获取)。在函数中先创建一个带中文参数的URL,利用JS对该url进行编码,然后访问该URL。

  后台对该编码后的中文参数进行解码:

复制代码
    String getTag = request.getParameter("getTag");
        // 组装查询条件
        Condition condition = new Condition();

        // 组装名称
        String queryName = request.getParameter("queryName");
        // 如果是点击页号提交方式为get提交进行转码
        if (getTag != null && !"".equals(getTag.trim())) {
            queryName = new String(queryName.getBytes("iso-8859-1"), "utf-8");
        }
        if (queryName != null && !"".equals(queryName)) {
            condition.setQueryName(queryName);
            // 回显数据
            request.setAttribute("queryName", queryName);
        }
复制代码

  上面的getTag标志是get方式提交,需要进行解码,如果为post提交不进入解码条件。

  对提交的英文与数字参数不需要进行解码。

最终效果:

 

-----还有一种方式是:ajax采用post方式提交,请求JSON,然后将JSON填充到表格----

ajax使用方法

复制代码
$.ajax({
            url:"${baseurl}/fenYe",
            async:true,
            type:"POST", 
date:{"currentPage":1,"queryName":"${queryName}","queryAddress":"${queryAddress}","queryDate":"${queryDate}"},
            success: function(data){
                },
            error:function(){
                alert("请求失败");
                },
            dataType:"json"
           
        });
复制代码

 

 

复制代码
function fun1() {
    $.get(
            "/Ajax/ajaxServlet2",    //请求地址
            //"name=qlq&password=qlq",   //请求参数
            {"name":"qlq","password":"nicai"},  //请求传递的参数,也可以是JSON
            function(data){     //data表示传递回来的数据,只有在成功的时候才有
                alert(data);
                },
                "json"         //表示返回内容的格式,json会将传回来的自动解析成json对象
    );
}




function fun2() {
    $.post(
            "/Ajax/ajaxServlet2",    //请求地址
            //"name=qlq&password=qlq",   //请求参数
            {"name":"qlq","password":"nicai"},  //请求传递的参数,也可以是JSON
            function(data){     //data表示传递回来的数据,只有在成功的时候才有
                alert(data);
                },
                "json"         //表示返回内容的格式,json会将传回来的自动解析成json对象
    );
}
复制代码

 

 后台将查询到的数据转换为JSON串返回,ajax在成功的回调函数将JSON数据填入表格,关于JSON填充表格参考:http://www.cnblogs.com/qlqwjy/p/7307514.html

 

posted @   QiaoZhi  阅读(3094)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示