当先锋百科网

首页 1 2 3 4 5 6 7

上一篇博客(http://blog.csdn.net/u013082989/article/details/51016638)中实现了基本分页功能,这次我们在代码方面做些优化(还有之前关于BaseAction的代码抽取及优化的博客最好也看一下,要不然可能会有点问题

http://blog.csdn.net/u013082989/article/details/50990250


一:首先先看简单的,在jsp界面,可以将显示页码信息的代码抽取出来,

单独放到一个文件中


然后在需要显示分页信息的界面include进来就行了,


页面跳转的javascript代码


二:Action层:

(1)每个Action都有pageNum和pageSize,因为每个Action都是继承BaseAction的(具体看之前的博客)


(2)所以可以放到BaseAction中,声明为protected类型即可


三:Service层:

(1)每个Service是继承DaoSupportImpl的(也是之前博客中代码的优化),我们在Action层需要一个PageBean对象,所以可以在Action层将hql语句和参数列表传递给Service处理就行了,这样以后Service层代码就不需要专门写了。


(2)IDaoSupport接口中声明一个getPageBean方法,参数多了hql语句和参数列表,hql语句中可能会有where xxx=? and yyy=?,参数列表要对应上。


(3)DaoSupportImpl实现接口中方法,需要根据hql语句和参数列表查询分页记录和记录总数(和上篇博客中一样),具体看代码注释


四:下面测试一下结果

访问成功。虽然这样可以简化代码,但是我们将hql语句写在Action中了。

下一篇博客将继续优化代码,更加简化分页。