文档章节

SSE+easyui 分页

卯金刀GG
 卯金刀GG
发布于 2016/09/22 18:51
字数 858
阅读 25
收藏 0

记录过程

1、dom添加分页支持

<dependency>
	<groupId>com.github.miemiedev</groupId>
	<artifactId>mybatis-paginator</artifactId>

</dependency>

2、mybatis.xml 配置分页

<plugins>
	<plugin
		interceptor="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
		<property name="dialectClass"
			value="com.github.miemiedev.mybatis.paginator.dialect.OracleDialect" />
	</plugin>
</plugins>

3、mybatis的maper和xml文件对应,配置位置spring.xml 此为我备忘的记录

<!--事务管理 -->
<bean id="transactionManager"
	class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	<property name="dataSource" ref="dataSource" />
</bean>
<!-- 配置Jdbc模板 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="dataSource"></property>
</bean>
<!-- Session Factory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	<property name="dataSource" ref="dataSource" />
	<property name="typeAliasesPackage" value="cn.qazit.app.core.**.model" />
	<property name="configLocation" value="classpath:mybatis/mybatis-config.xml"></property>
	<!-- <property name="mapperLocations" value="classpath:cn/qazit/app/core/**/persistence/*.xml" /> -->
</bean>

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	<property name="basePackage" value="cn.qazit.app.core.**.persistence" />
	<!-- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> -->
</bean>

<!-- 事务(注解 ) -->  
<tx:annotation-driven transaction-manager="transactionManager" />

4、开始写js代码

 //初始化加载第一页主要方法
 function loadPage(pri_url,pagenum,pagesize){
    //此处是获取查询条件的js通用方法
$entity = getQueryData();

var localurl = pri_url+"?page="+pagenum+"&rows="+pagesize;
$('#dta_zybjczs').datagrid({
	//title: "查询结果",
	loadMsg:'数据加载中,请稍后……',
	iconCls: 'icon-edit', //图标
    height: 240,
    url: localurl,
    method: 'POST',
    queryParams: {'entity':JSON.stringify($entity)},
    idField: 'ID',
    singleSelect: false,
    rownumbers: true,
    pagination: true,
    pageSize: pagesize,
    pageList: [5, 10, 15, 20],
    showFooter: true,
    columns: [[
   	         { field: 'ck', checkbox: true }
   	        ,{ field: 'mc', title: '名称', width: 180, align: 'left' }
   	        ,{ field: 'gjz', title: '关键字', width: 150, align: 'left' }
   	        ,{ field: 'wjlx', title: '文件类型', width: 100, align: 'left' }
   	        ,{ field: 'zddw', title: '制定单位', width: 180, align: 'left'}
   	        ,{ field: 'zdrq', title: '制定日期', width: 100, align: 'left',
   	        	formatter:function(value)  
                { /* 调用函数显示时间 */  
                    return formatdate(value);  
                }  
   	         }
   	        ,{ field: 'bbrq', title: '颁布日期', width: 100, align: 'left' ,
   	        	formatter:function(value)  
                { /* 调用函数显示时间 */  
                    return formatdate(value);  
                } 
   	        }
   	        ,{ field: 'ssrq', title: '实施日期', width: 100, align: 'left',
   	        	formatter:function(value)  
                { /* 调用函数显示时间 */  
                    return formatdate(value);  
                } 
   	        }
   	        ,{ field: 'bbh', title: '版本号', width: 80, align: 'left'}
   	        ,{ field: 'id', title: '操作', width: 80, align: 'left',
   	           formatter:function(value){ 
                               //返回详细按钮的公用方法
   	        	   var btn = addCaozButton('editcls','editRow',value,'详细');
   	        	   return btn;
   	           }  
   	        }
   	]],
   	onBeforeLoad: function (param) {
   	},
    onLoadSuccess: function (data) {
            //修改详细按钮样式的方法
    	addXiangxClass('editcls','详细');
    },
    onLoadError: function () {
    },
    onClickCell: function (rowIndex, field, value) {
    }
});

//分页 var pager=$('#dta_zybjczs').datagrid('getPager'); pager.pagination({ total:0, rows : 0, pageNumber : 1, pageList : [ 10,20,30 ],// 可以设置每页记录条数的列表 onBeforeRefresh: function () {
},
onSelectPage: function (pageNumber, pageSize) {//分页触发 find(pageNumber, pageSize);
} }); };

//通用方法 /**

  • 详细按钮easyui样式
  • @param classid class的标签值
  • @param textval 按钮的显示值 */ function addXiangxClass(classid,textval){ $('.'+classid).linkbutton({text:textval,plain:true,iconCls:'icon-edit'}); }

/**

  • 操作按钮
  • @param classid 定义的按钮的class标签值
  • @param method 方法名
  • @param val 修改的id值
  • @param textval 显示的按钮内容
  • @returns {String} */ function addCaozButton(classid,method,val,textval){ var btn = '<a class="'+classid+'" onclick="'+method+'(\''+val+'\')" href="javascript:void(0)">'+textval+'</a>';
    return btn; }

5、跳转页的方法 function find(pageNumber, pageSize) { $entity = getQueryData();

$("#dta_zybjczs").datagrid('getPager').pagination({pageSize : pageSize, pageNumber : pageNumber});//重置
$("#dta_zybjczs").datagrid("loading"); //加屏蔽
$.ajax({
    type : "POST",
    dataType : "json",
    url : pri_url+"?page="+pageNumber+"&rows="+pageSize,
    data:{'entity':JSON.stringify($entity)},
    success : function(data) {
        $("#dta_zybjczs").datagrid('loadData',pageData(data.rows,data.total));//这里的pageData是我自己创建的一个对象,用来封装获取的总条数,和数据,data.rows是我在控制器里面添加的一个map集合的键的名称
        //var total =data.total;
        $("#dta_zybjczs").datagrid("loaded"); //移除屏蔽
    },
    error : function(err) {
        $.messager.alert('操作提示', '获取信息失败...请联系管理员!', 'error');
        $("#dta_zybjczs").datagrid("loaded"); //移除屏蔽
    }
});

};

//自用方法 /**

  • 组合要显示的数据

  • @param list

  • @param total

  • @returns {___anonymous3546_3548} */ function pageData(list,total){ var obj=new Object(); obj.total=total; obj.rows=list; return obj; }; 6、后台java代码 @RequestMapping(value = "/listZybjczs") public void listZybjczs(HttpServletRequest request, HttpServletResponse response) { String spage = request.getParameter("page"); String srows = request.getParameter("rows"); int page = Integer.parseInt((spage==null||Integer.parseInt(spage)<=0)?"1":spage); int rows = Integer.parseInt((srows==null||Integer.parseInt(srows)<=0)?"10":srows);

     String entity = request.getParameter("entity");
     JSONObject obj = JSONObject.fromObject(entity);
    
     // 拼装分页条件
     PageBounds pageBounds = new PageBounds(page, rows);
     String result = "";
    
     try{
     	result = gfxwjService.queryByPage(obj, pageBounds);
     }catch(Exception e){
     	e.printStackTrace();
     	log.error(e.getMessage());
     }
     log.debug(page + ":" + rows);
     log.debug(result);
    
     try {
     	this.ajax(response, result, AbstractBaseController.JSON);
     } catch (IOException e) {
     	e.printStackTrace();
     	log.error(e.getMessage());
     }
    

    } 此处参考了网上的部分代码,记录已备遗忘,

© 著作权归作者所有

卯金刀GG
粉丝 26
博文 240
码字总数 58716
作品 0
昌平
程序员
私信 提问
C# 插入、删除Excel分页符

概述 对Excel表格设置分页对我们预览、打印文档时是很方便的,特别是一些包含很多复杂数据的、不规则的表格,为保证打印时每一页的排版美观性或者数据的前后连接的完整性,此时的分页符就发挥...

E_iceblue
2018/05/18
0
0
laravel5自定义分页

laravel5分页处理与laravel4略有区别,laravel5提供了更方便的处理方式,可以方便满足不同分页展示。 laravel4自定义分页:http://php2012web.blog.51cto.com/5585213/1539601 laravel分页处...

ttlxihuan
2016/09/26
0
0
C# 如何处理Word文档分页——插入、删除、阻止分页

本篇文章将介绍C#编程如何来处理Word分页的方法。操作Word中的分页这里分为几种情况的来介绍: 插入分页 1.1在指定段落末尾插入分页 1.2 在指定字符后插入分页 删除分页 3.阻止表格分页 处理...

E_iceblue
2018/06/28
0
0
Mybatis关联结果查询分页方法

在Mybatis分页插件的说明中有如下内容 不支持的情况 对于关联结果查询,使用分页得不到正常的结果,因为只有把数据全部查询出来,才能得到最终的结果,对这个结果进行分页才有效。因而如果是...

Liuzh_533
2014/06/05
0
10
thinkphp简洁、美观、靠谱的分页类

废话不多说先上图预览下;即本博客的分页; 这个分页类是在thinkphp框架内置的分页类的基础上修改而来; 原分页类的一些设计,在实际运用中感觉不是很方便; 1:只有一页内容时不显示分页; ...

白俊遥
2016/03/06
14
0

没有更多内容

加载失败,请刷新页面

加载更多

GatewayWorker 报错:stream_socket_server(): unable to connect to tcp://0.0.0.0:1238

GatewayWorker 报错:stream_socket_server(): unable to connect to tcp://0.0.0.0:1238 (Address already in use) 官方文档虽然有相同的问题,但是对我的问题没起作用…… 后面发现自己手贱...

wenzhizhong
昨天
0
0
REST接口

文章来源 https://zhuanlan.zhihu.com/p/28674721?group_id=886181549958119424 http://www.ruanyifeng.com/blog/2014/05/restful_api.html REST 对请求的约定 REST 用来规范应用如何在 HTTP......

Airship
昨天
3
0
Spring Cloud Config 统一配置中心

Spring Cloud Config 统一配置中心 一、统一配置中心 统一管理配置 通常,我们会使用配置文件来管理应用的配置。如一个 Spring Boot 的应用,可以将配置信息放在 application.yml 文件中,如...

非摩尔根
昨天
2
0
android ------ AAPT2 error: check logs for details解决方法

AAPT 是全称是 Android Asset Packaging Tool,它是构建 App,甚至是构建 Android 系统都必不可少的一个工具。它的作用是将所有资源文件压缩打包到Android APK 当中。我们在 Android SDK 目录...

切切歆语
昨天
2
0
今天的学习

今天学到了<select></select>标签: <label for="unittype">Select unit type: </label><select id="unittype" name="unittype" autofocus > <option value="1"> Miner </option> ......

墨冥
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部