在web项目中会经常用到分页操作,我做的是基于sql的分页。而每次点击下一页的时候都需要判断页面的隐藏字段来看获取一些页面信息。在action中的操作都会有一长串的判断操作和javabean的set操作。代码非常的重复。但是每次的请求翻页的信息又不相同,一时想不出如何将这个翻页的操作独立出去。
请问下各位项目经验丰富的高人,在做web项目的时候都是如何处理翻页的,基于sql和结果集的翻页都行。谢谢~~
请问下各位项目经验丰富的高人,在做web项目的时候都是如何处理翻页的,基于sql和结果集的翻页都行。谢谢~~
解决方案 »
- java file上传图片成功后无法查看问题
- 后台Action json解析
- 哪位帮忙解答下,小弟不胜感激,项目导出的问题 弄了2天了
- java 读写properties文件中文乱码问题
- jcom 调用 com 组件 tomcat6会 关闭?那位告诉知道原因吗?
- 我培训了J2EE,在南京好不好找工作呢???能做些什么啊??
- 两个二进制字符串 如何进行“与操作”,一直找不到满意的答案
- 刚学java,碰到一大堆新名词,请指教一下,多谢!
- 找了半天资料没找到,大家帮忙,请问J2EE的环境变量怎么配置,装完J2EE后TOMCAT和ECLIPSE都不能运行了!
- weblogic布署问题-菜鸟级的
- 高手帮忙,sqlserver2000中读取数据,然后插入到mysql数据库中,出错!
- session 重复 急
比如说查询书籍,就传书籍的Id 。每次都会有一个javabean,里面有比如说是否为第一页,是否为查询书籍等等属性。这些属性在页面的hidden里面设置。感觉这么做不太好。
我就是这么做的 , 每个action中都会有重复的 if else语句来判断是否为第一页 下一页 等等信息 ,还有只是属性不同的set get调用。看起来非常的繁琐。
我觉得这些内容都是可以封装起来的,只是没有想到好的办法。
为什么要判断是上一页,还是下一页呢?你可以根据当前页计算出 在DB中的开始记录数,结束记录数,传给sql去处理啊。 你说呢?
我用的是ibatis 也是传入javabean进行数据库操作,每次用户输入的属性我都是从actionform中提取出来存入一个对应的javabean。。如上这些基本上每个action里都一样。。感觉非常重复。 大家的web项目中也都是一样这么做的?
queryObject.setMaxResults(5);设置分页每页显示的最大记录数!
queryObject.setFirstResult(0);设置分页第一条记录。
2、定义一个用于分页的抽象action(可以从开源的如structs等继承过来):
a)、执行时首先页面提交的关于分页的数据(每页记录数、当前页)封装成Paging对象。
b)、执行一个抽象方法(要求子类在此方法中查询要求的数据),Paging对象作为此方法的参数之一。
c)、将Paging中的数据存入request中
3、定义一个jsp,此页面利用存入request中的数据生成表单的隐藏字段和前一页、后一页等内容。使用时:
在数据查询时,要求使用Paging作为参数,查询到结果后,将结果存入Paging
所有分页的action从上面的抽象类继承,所有分页页面包含上面的jsp(必须包含在一个form元素中)。以上对jdbc、hibernate均适用,也不管你用不用、用哪个开源的MVC框架