springmvc + jquery easyui实现分页显示

如有不明白的地方,戏迎加入QQ群交流:66728073

一,下载并导入jquery easyui的导

<link rel="stylesheet" type="text/css"
	href="<%=basePath%>js/jquery-easyui-1.4/themes/default/easyui.css">
<link rel="stylesheet" type="text/css"
	href="<%=basePath%>js/jquery-easyui-1.4/themes/icon.css">
<link rel="stylesheet" type="text/css"
	href="<%=basePath%>js/jquery-easyui-1.4/themes/color.css">
<script type="text/javascript"
	src="<%=basePath%>js/jquery-easyui-1.4/jquery.min.js"></script>
<script type="text/javascript"
	src="<%=basePath%>js/jquery-easyui-1.4/locale/easyui-lang-zh-CN.js"></script>
<script type="text/javascript"
	src="<%=basePath%>js/jquery-easyui-1.4/jquery.easyui.min.js"></script>

二,jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>文章管理</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
<link rel="stylesheet" type="text/css"
	href="<%=basePath%>js/jquery-easyui-1.4/themes/default/easyui.css">
<link rel="stylesheet" type="text/css"
	href="<%=basePath%>js/jquery-easyui-1.4/themes/icon.css">
<link rel="stylesheet" type="text/css"
	href="<%=basePath%>js/jquery-easyui-1.4/themes/color.css">
<script type="text/javascript"
	src="<%=basePath%>js/jquery-easyui-1.4/jquery.min.js"></script>
<script type="text/javascript"
	src="<%=basePath%>js/jquery-easyui-1.4/locale/easyui-lang-zh-CN.js"></script>
<script type="text/javascript"
	src="<%=basePath%>js/jquery-easyui-1.4/jquery.easyui.min.js"></script>
<script type="text/javascript" src="<%=basePath%>js/common.js"></script>
</head>

<body>
	<table id="dg" class="easyui-datagrid" title="所有文章"
		style="width:100%;height:250px"
		data-options="rownumbers:true,singleSelect:true,pagination:true,collapsible:true,url:'blog/getAllBlogs/1',method:'get'">
		<thead>
			<tr>
				<th data-options="field:'id'">文章ID</th>
				<th data-options="field:'title'">文章标题</th>
				<th
					data-options="field:'createTime',align:'center',formatter:formatDate">写作时间</th>
				<th data-options="field:'name',align:'center'">作者</th>
			</tr>
		</thead>
	</table>
	<script type="text/javascript">
        $(function(){
            var pager = $('#dg').datagrid().datagrid('getPager');    // get the pager of datagrid
            pager.pagination({
                buttons:[{
                    iconCls:'icon-search',
                    handler:function(){
                        alert('search');
                    }
                },{
                    iconCls:'icon-add',
                    handler:function(){
                        alert('add');
                    }
                },{
                    iconCls:'icon-edit',
                    handler:function(){
                        alert('edit');
                    }
                }],
                onSelectPage:function(pageNumber, pageSize){
     			 alert('pageNumber:'+pageNumber+',pageSize:'+pageSize);
            }); 

        })
         function changeP(){
            var dg = $('#dg');
            dg.datagrid('loadData',[]);
            dg.datagrid({pagePosition:$('#p-pos').val()});
            dg.datagrid('getPager').pagination({
                layout:['list','sep','first','prev','sep',$('#p-style').val(),'sep','next','last','sep','refresh']
            });
        }
<span style="white-space:pre">	//jquery-ui中,用于格式化date日期
    function formatDate(val, row) {
<span style="white-space:pre">		</span>var datetime = new Date();
<span style="white-space:pre">		</span>datetime.setTime(val);
<span style="white-space:pre">		</span>var year = datetime.getFullYear();
<span style="white-space:pre">		</span>var month = datetime.getMonth() + 1 < 10 ? "0"
<span style="white-space:pre">				</span>+ (datetime.getMonth() + 1) : datetime.getMonth() + 1;
<span style="white-space:pre">		</span>var date = datetime.getDate() < 10 ? "0" + datetime.getDate()
<span style="white-space:pre">				</span>: datetime.getDate();
<span style="white-space:pre">		</span>var hour = datetime.getHours() < 10 ? "0" + datetime.getHours()
<span style="white-space:pre">				</span>: datetime.getHours();
<span style="white-space:pre">		</span>var minute = datetime.getMinutes() < 10 ? "0"
<span style="white-space:pre">				</span>+ datetime.getMinutes() : datetime.getMinutes();
<span style="white-space:pre">		</span>var second = datetime.getSeconds() < 10 ? "0"
<span style="white-space:pre">				</span>+ datetime.getSeconds() : datetime.getSeconds();
<span style="white-space:pre">		</span>return year + "-" + month + "-" + date + " " + hour + ":" + minute
<span style="white-space:pre">				</span>+ ":" + second;
<span style="white-space:pre">	</span>}</span>
    </script>
</body>
</html>

三,springmvc后台处理

/**
	 * 获取文章
	 * @author guangshuai.wang
	 * 2014-10-14上午12:10:40
	 * @param type
	 * @param request
	 * @param nowpage 			当前页,这个是jquery-easyui自动提交的能参数,参数名必须为page
	 * @param rows				每页显示的记录数,这个是jquery-easyui自动提交的参数,参数名必须为rows
	 * @return
	 */
	@RequestMapping("/getAllBlogs/{type}")
	@ResponseBody
	public String getAllBlogs(@PathVariable("type")int type,HttpServletRequest request,@RequestParam("page") int nowpage,@RequestParam("rows") int rows){
		List<Blog> blogList = blogManager.getAllBlogByType(type);
		request.setAttribute("blogList", blogList);
		int totalBlogs = blogManager.getAllBlogCountByType(type);
		Pages pages = new Pages(totalBlogs, nowpage, rows);
		pages.setUrl("blog/getAllBlogs/" + type + "/");
		request.setAttribute("pageInfo", pages);
		//return "/jsp/blog/allBlog";
		ResponseResult result = new ResponseResult();
		result.setTotal(100);
		result.setRows(blogList);
		return JSON.toJSONString(result);
	}

四,我自己封闭了一个返回类,用于返回jquery easyui封装的json串

package com.gametech.entity;

public class ResponseResult {
<span style="white-space:pre">	</span>//这两个成员的命不能变
	private int total;
	private Object rows;
	public int getTotal() {
		return total;
	}
	public void setTotal(int total) {
		this.total = total;
	}
	public Object getRows() {
		return rows;
	}
	public void setRows(Object rows) {
		this.rows = rows;
	}

}

如有不明白的地方,戏迎加入QQ群交流:66728073

时间: 2024-10-21 19:42:37

springmvc + jquery easyui实现分页显示的相关文章

jquery easyui datagrid 分页 详解

前些天用jquery easyui的table easyui-datagrid做分页显示的时候,折腾了很久,后来终于解决了.其实不难,最主要我不是很熟悉前端的东西. table easyui-datagrid分页 有一个附加的分页控件,只需后台获取分页控件自动提交的两个参数rows(每页显示的记录数)和page(当前第几页)然后读取相应页数的记录,和总记录数total一块返回即可. 1.界面 2.前端代码 <table id="dg" title="文章管理"

SpringMVC+MyBatis+EasyUI 实现分页查询

user_list.jsp <%@ page import="com.ssm.entity.User" %> <%@ page pageEncoding="UTF-8" import="java.util.List" %> <html> <head> <%@ include file="meta.jsp" %> <meta charset="UTF-8

jquery easyui datagrid 分页数据请求

jquery easyui datagrid内置了分页的功能,当设置为 pagination: true 以后就能够启用分页功能. 启用分页以后,jquery easyui datagrid发送的数据请求中会包含两个参数: int iPageIndex = Convert.ToInt32(this.Request["page"]); int iPageSize = Convert.ToInt32(this.Request["rows"]); 这两个参数分别是当前页码

jquery easyui datagrid 分页详解

由于项目原因,用了jquery easyui 感觉界面不错,皮肤样式少点,可是官网最近打不开了,资料比较少,给的demo没有想要的效果,今天在用datagrid 做分页显示的时候,折腾了半天,网上的资料也比较少,后自己动手,终于解决,废话不说,开始: datagrid分页有一个附加的分页控件,只需后台获取分页控件自动提交的两个参数rows每页显示的记录数和page;//当前第几页 然后读取相应页数的记录,和总记录数total一块返回即可 界面如下: 1.下边是datagrid的显示对话框,我直接

jquery easyui datagrid 分页实现

通常情况下页面数据的分页显示分成真假两种.真分页是依靠后台查询时控制调出数据的数量来实现分页,也就是说页面在后台对数据进行处理,仅传输当前需要页的数据到前台来显示.而假分页则是后台一次性将所有的数据一起传送到前台,再由前端程序来控制数据的显示与遮蔽. 既然要分页,那么首先就必须要获得所有的数据,并且知道数据的数量.这步可以是由后台程序返回告知,当然也可以有javascript自己去读取. datagrid分页 有一个附加的分页控件,只需后台获取分页控件自动提交的两个参数rows每页显示的记录数和

改变EasyUI默认分页显示数目

在页面引入一个js文件,代码如下.就可以全局设置了.js文件内容如下 //设置默认的分页参数 if ($.fn.datagrid){ $.fn.datagrid.defaults.pageSize = 15;//这里一定要用datagrid.defaults.pageSize,用pagination.defaults.pageSize一直不行 $.fn.datagrid.defaults.pageList = [15,30,45];//这里一定要有,不然上面的也不起效 } //设置分页显示文字

基于SSH框架、Oracle数据库、easyui的分页显示

要求:在easyui-datagrid中完成paginaton的分页功能. 1.easyui-datagrig的配置 <table id="dg" rownumbers=true fitColumns="true" singleSelect="true" data-options="pagination:true,fit:true,toolbar:'#tt'"> <thead> <tr> &

jQuery EasyUI ComboGrid 分页 查询

1 $('#query_camera').combogrid({ 2 panelWidth:400, 3 idField:'id', 4 textField:'name', 5 url:queryUrl, 6 multiple:true, 7 fitColumns: true, 8 striped: true, 9 editable:true, 10 pagination : true,//是否分页 11 rownumbers:true,//序号 12 collapsible:false,//是

动态控制jQuery easyui datagrid工具栏显示隐藏

//隐藏第一个按钮 $('div.datagrid-toolbar a').eq(0).hide(); //隐藏第一条分隔线 $('div.datagrid-toolbar div').eq(0).hide(); //显示第一个按钮 $('div.datagrid-toolbar a').eq(0).show(); //显示第一条分隔线 $('div.datagrid-toolbar div').eq(0).hide(); disable toolbar按钮 $('#btnpichuli').l