微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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="/tag/fenye/" target="_blank" class="keywords">分页</a>

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐