用户通过页面查询提交到struts。struts在后台做数据库处理。
我把ResultSet结果集封装在formbean中,返回给JSP显示。OK,没问题
=====================================
在JSP直接在<% %>连接数据库,用RS直接处理分页显示。OK,没问题
=====================================
问题来了,如果说我不想在JSP<%%>内做数据库操作。是去struts中处理并返回。我是封装在LIST中返回。在JSP就不能使用rs.absolute(x)记录节点。
这样在JSP页面怎么利用LIST实现分页?rs.getRow()获取记录个数
在LIST可以用list.size()来替换。
那list有什么方法可以记录节点吗?
例如 每页显示5条记录。一共有10页。
如果你选第三页的时候。就要从第11条开始检索显示。
rs.absolute()方法可以记录。list有吗?或者有什么别的方法?
jsp+struts分页问题
答案:4 悬赏:70
解决时间 2021-02-19 18:20
- 提问者网友:宿醉何为情
- 2021-02-19 10:33
最佳答案
- 二级知识专家网友:开心就好
- 2021-02-19 11:32
jsp页面一般都是用来显示数据而不是进行数据库操作
我的解决方法是:
首先我的list里存储的是表里符合要求的数据的部分,如你所说“每页显示5条记录。一共有10页。”
那么一次就读取5条数据放到list里,然后读取出来就可以了。
这么一来,重要的操作就是对数据库的操作,
但是不知道你的数据库用的是什么?
oracle数据库
select * from(
select * rownum as row from test where rownum <=5
)
where row >=1
这里的rownum是伪列。每次要进行分页都要有客户端传来一个数据,
表示现在要查看第几页,然后根据这个数据来进行查询,总之,所有的
考虑都在这个sql语句里,而不是在你的ArrayList进行分页
mysql数据库
mysql数据库里有一个函数limit,限定显示的数据,如:limit 0,5
你可以到网上去查,会有更详细的介绍,
学习计算机的编程,会有很多疑难问题,要上网去看,去找,去问,会有
很多的解答的。
我的解决方法是:
首先我的list里存储的是表里符合要求的数据的部分,如你所说“每页显示5条记录。一共有10页。”
那么一次就读取5条数据放到list里,然后读取出来就可以了。
这么一来,重要的操作就是对数据库的操作,
但是不知道你的数据库用的是什么?
oracle数据库
select * from(
select * rownum as row from test where rownum <=5
)
where row >=1
这里的rownum是伪列。每次要进行分页都要有客户端传来一个数据,
表示现在要查看第几页,然后根据这个数据来进行查询,总之,所有的
考虑都在这个sql语句里,而不是在你的ArrayList进行分页
mysql数据库
mysql数据库里有一个函数limit,限定显示的数据,如:limit 0,5
你可以到网上去查,会有更详细的介绍,
学习计算机的编程,会有很多疑难问题,要上网去看,去找,去问,会有
很多的解答的。
全部回答
- 1楼网友:开心就好
- 2021-02-19 13:47
rst=stmt.executeQuery("select top "+currentPage*rowPerPage+" * from article order by ID DESC")
用这个SQL语句试试
rst.absolute((currentPage-1)*rowPerPage+1);
然后再放到List中 不要一次把所有结果都放到List里面
- 2楼网友:你好陌生人
- 2021-02-19 13:37
QQ群:5335394
- 3楼网友:情战辞言
- 2021-02-19 12:38
用数据库分页在前台接一下就行了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯