jquery+json实现分页效果

Json作为一种轻量级的数据交换格式,由于其传输数据格式的方便性,今天偶然想将其应用于分页实现,分页做为web开发一个长久的话题,其应用的高效与重要性就不多说了 本文主要技术:反射机制,Json数据格式,jquery 为了应用的通用性,首先要根据反射机制,能将要返回的任意类型的结果对象转化成Json类型的格式。

rush:js;"> public static String toJSON(Object obj) { HashMap map = new HashMap(); Class c = obj.getClass(); // 利用反射机 制,把里面所有的属性,反射出来使用,这样放入任何一个对象, 都可以找到他们的属性, // 把这些属性的名,和属性的值,封装成一个map里, Field[] fields = c.getDeclaredFields(); for (int i = 0; i < fields.length; i++) { String name = fields[i].getName(); try { fields[i].setAccessible(true); Object o = fields[i].get(obj); i f (o instanceof Number) { map.put(""" + name + """,o.toString()); } else if (o instanceof String) { map.put(""" + name + """,""" + o.toString() + """); } } catch (IllegalArgumentException e) { } catch (illegalaccessexception e) { } } / / 把map对象变成字符串 // 这些格式还需要把=变成: String s = map.toString(); / /System.out.println(s); String str = s.replaceAll(""=","":"); //System.out.println(str); return str; }

将要返回的多个对象转换成Json类型的对象后,最后应加上分页的信息,最终将多个Json字符串,转化成一整个Json类型

rush:js;"> {"0":{"id":"0","name":"dong0","age":21},"1":{"id":"1","name":"dong1","2":{"id":"2","name":"dong2","3":{"id":"3","name":"dong3","4":{"id":"4","name":"dong4","5":{"id":"5","name":"dong5","6":{"id":"6","name":"dong6","7":{"id":"7","name":"dong7","8":{"id":"8","name":"dong8","9":{"id":"9","name":"dong9","10":{"firstPage":1,"currentPage":1,"default_Record_Num":10,"lastPage":10,"frontPage":1,"sum":100,"nextPage":2},"length":11}

当信息发送到客户端时 ,只用jquery接收对象的数据就行了 ,这样 可以实现前台的样式与后台传送的数据分离,更加简化了代码

rush:js;"> $.getJSON("result.jsp?page="+p,function(json) { $("#show").html("用户ID用户名用户年龄

利用JQuery与JSon实现的无刷新分页代码,具体代码如下

需要四个文件 一个实体类文件 CategoryInfoModel.cs 一个sqlHelper sqlHelper.cs 一个AJAX服务端处理程序 PagedService.ashx 一个客户端调用页面 WSXFY.htm CategoryInfoModel.cs和sqlHelper.cs我就不写了,都知道是什么文件 PagedService.ashx 代码如下

sqlConnection conn = sqlHelper.GetConnection(); ds = sqlHelper.ExecuteDataset(conn,CommandType.Text,strsql); List categoryinfo_list = new List();//定义实体集合 for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { CategoryInfoModel categoryinfo = new CategoryInfoModel(); categoryinfo.CategoryInfoID = Convert.ToInt32(ds.Tables[0].Rows[i]["ID"]); categoryinfo.CategoryName = ds.Tables[0].Rows[i]["CategoryName"].ToString(); categoryinfo_list.Add(categoryinfo); } JavaScriptSerializer jss = new JavaScriptSerializer(); context.Response.Write(jss.Serialize(categoryinfo_list));//序列化实体集合为javascript对象 } }

WSXFY.htm 代码如下

rush:xhtml;"> 无刷新<a href="https://www.jb51.cc/tag/fenye/" target="_blank" class="keywords">分页</a>

以上就是本文的全部内容,希望能够帮助大家实现分页效果

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...