基于SSH架构下的ajax翻页(json+prototype+jstemplate)
基于SSH架构上的ajax翻页(json+prototype+jstemplate)简单实现,不用对TMD的一堆的js的api了解,俺还不是js
基于SSH架构上的ajax翻页(json+prototype+jstemplate)
简单实现,不用对TMD的一堆的js的api了解,俺还不是js专员,写的太烂,还是java比较贴心啊。
实现流程:页面new Ajax.Request()==》action中获得page对象==》转换为json对象,保存到response中==》在页面中处理返回对象var data? = res.responseText.evalJSON();(prototype1.5.1支持)==》调用jstemplate模板引擎对页面进行重组$("output").innerHTML = TrimPath.processDOMTemplate("template_jst", data) ,翻页完成了。
具体代码:
页面请求:
page = productManager.findProduct(getPageno());XStream xstream = new XStream(new JettisonMappedXmlDriver());xstream.alias("product", Product.class);xstream.alias("page", Page.class);log.info(xstream.toXML(page));
jstemplate好像是个好东东 可以省去好的js dhtml操作 3 楼 jusescn 2007-08-30 XStream处理简单对象的还可以,对于多对多,lazy=true的时候,转换对象为json对象时得到的会包含 "@class":"org.hibernate.collection.PersistentSet","initialized":"false" 需要手工对list/set对象Hibernate.initialize. 4 楼 xly_971223 2007-08-30 jusescn 写道XStream处理简单对象的还可以,对于多对多,lazy=true的时候,转换对象为json对象时得到的会包含 "@class":"org.hibernate.collection.PersistentSet","initialized":"false" 需要手工对list/set对象Hibernate.initialize.
要采用ajax就不要奢望 opensessioninview 等方法了 所有的数据在返回前都必须准备好 5 楼 rennuoting 2008-05-14 看了你的代码,对实现的过程有了大致的了解,但是分页的时候page是怎么样的呢,有没有完整的代码共享一下啊 6 楼 rennuoting 2008-05-14 还有就是jsonobj.put(entry.getKey(), entry.getValue());和jsarray.add(jsobj); JSON没有这两个方法啊。 7 楼 jusescn 2008-05-15 rennuoting 写道还有就是jsonobj.put(entry.getKey(), entry.getValue());和jsarray.add(jsobj); JSON没有这两个方法啊。
这些应该都是JSONObject对象的方法。page对象都是写set,get方法。 8 楼 rennuoting 2008-05-15 这些应该都是JSONObject对象的方法。page对象都是写set,get方法。
可是我在JSON官网下载的代码中,JSONObject和JSONArray都没有这两个方法的,不知你的JSON是哪里下载的。能否共享下源代码呢? 9 楼 jusescn 2008-05-16 https://sourceforge.net/project/showfiles.php?group_id=171425 10 楼 rennuoting 2008-05-16 谢谢你的回复,JSON的类终于可以找到了,还有一些自定义的类没有,主要是com.at21.pm.util.BeanUtils
11 楼 java.fan 2008-06-26 呵呵
搂住的翻页没有看完,
不过我也又点想法,提出来大家评论.
首先,自定义一个标签,这个标签获取当前页面的 url ,然后修改 url 中的 翻页参数.
提交该url 后,标签又自动生成 最新的 翻页 连接 { 1 2 3 3 4} 这样的 ui
这样一来,页面上 只管 加入 标签,就 ok 了 .都不用去配置,
翻页调用的 方法,在 url 中体现了..翻页的数据,可以在实现类中获得.