ssh框架下,java代码 页面分页 ,怎么读取list序列的第n个元素
ssh框架下,java代码在做页面分页时,使用了list来取出所有符合条件的资源,怎么读取相应页面的元素。比如在第二页要显示的第11个到第20个(每页10个)怎么从lis...
ssh框架下,java代码 在做页面分页时,使用了list来取出所有符合条件的资源,怎么读取相应页面的元素。比如在 第二页 要显示的第11个到第20个(每页10个) 怎么从list读取出来。循环 list.get(n ) 10<n<21程序吗?
部分代码:
java.util.List<Resource> resultList = new java.util.ArrayList<Resource>();
resultList = findResourceList(。。。);//具体不写了
下面就是从resultList中读取出来了
??????
在线等。 展开
部分代码:
java.util.List<Resource> resultList = new java.util.ArrayList<Resource>();
resultList = findResourceList(。。。);//具体不写了
下面就是从resultList中读取出来了
??????
在线等。 展开
5个回答
展开全部
取第二页的数据时,将当前页,传给action,action再调用dao层,拿到指定范围的数据。
hql这样限制:setFirstResult(开始取数据的位置);setMaxResult(取数据的数量;
返回到jsp页面后是一个集合。比如写条数据记录在表格的每行上,就在表格的行上做循环,
<%
for(int i=0;i<resultList.size();i++) {
%>
表格行的代码。。。。
<%
}
%>
hql这样限制:setFirstResult(开始取数据的位置);setMaxResult(取数据的数量;
返回到jsp页面后是一个集合。比如写条数据记录在表格的每行上,就在表格的行上做循环,
<%
for(int i=0;i<resultList.size();i++) {
%>
表格行的代码。。。。
<%
}
%>
追问
我明白你的意思,这样确实可行,不过是在 extends HibernateDaoSupport的情况下使用,我们的dao 统一的是eclipse环境下自动生成的dao
public class ResourceDAO extends BaseResourceDAO implements org.sigsit.resource.dao.iface.ResourceDAO {
public ResourceDAO () {}
public ResourceDAO (Session session) {
super(session);
}
无法实现。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
hibernate中有setFirstResult()和setMaxResult就是用来分页的,总记录数需要你先查出来,FirstResult就是开始位置,在数据库操作query.list();之前加上这两个方法,显示的就是分页后的值,等于说,你在数据库操作的方法中需要传入从第几个数据开始以及总记录数,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要用到Criteria了
criteria.setFirstResult(rowStart);
criteria.setMaxResults(rowEnd - rowStart);
最后返回criteria的list()就行了,记得要取总数哦,具体看hibernate的Criteria文档了
criteria.setFirstResult(rowStart);
criteria.setMaxResults(rowEnd - rowStart);
最后返回criteria的list()就行了,记得要取总数哦,具体看hibernate的Criteria文档了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
// 传入 offset当前的要取的页码数,从1 开始,length,每页显示的条数
//主要还是对传入的sql进行拼接查询
String hql=" select * from table";
Query q = factory.getCurrentSession().createQuery(hql); //
q.setFirstResult(offset);
q.setMaxResults(length);
return q.list();
//主要还是对传入的sql进行拼接查询
String hql=" select * from table";
Query q = factory.getCurrentSession().createQuery(hql); //
q.setFirstResult(offset);
q.setMaxResults(length);
return q.list();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然楼主是要用分页,代表数据量会很大。
考虑要效率问题,其实应该在sql语句中就完成分页。
考虑要效率问题,其实应该在sql语句中就完成分页。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询