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

java 分页省略 java分页优化_优化

单独放到一个文件中

java 分页省略 java分页优化_分页_02

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

java 分页省略 java分页优化_java 分页省略_03

页面跳转的javascript代码

java 分页省略 java分页优化_优化_04

二:Action层:

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

java 分页省略 java分页优化_分页_05

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

java 分页省略 java分页优化_java ee_06

三:Service层:

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

java 分页省略 java分页优化_java 分页省略_07

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

java 分页省略 java分页优化_java ee_08

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

java 分页省略 java分页优化_java 分页省略_09

java 分页省略 java分页优化_javaEE_10

四:下面测试一下结果

java 分页省略 java分页优化_分页_11

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

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