基于struts+hibernate请教分页问题 各位大大 小弟刚学完struts2和hibernate 想做一个分页但是没什么思路 哪位大大可以给个简单版的分页代码不需要太详细的 100分不是很多 略表心意 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如每页显示20条记录, 查找第2页struts: articles = new ArticleDao().findByPage(p);hibernate:public List<Article> findByPage(int p){ return session.createQuery("from Article") .setFirstResult( 20 * (p - 1) ) .setMaxResult(20) .list();} 主要是用到了setFirstResult()和setMaxResult()相当与mysql 中的 limit 通过一个PageAction来实现分页public class PageAction extends ActionSupport{ private int pageNumber = 1; private int pageSize = 5; private int totalPage;........省略get、set方法 public String execute(){ PageDao pDao = new PageDao(); int employeeCount = pDao.getEmployeeCount(); this.totalPage = employeeCount % pageSize == 0?(employeeCount/pageSize):(employeeCount/pageSize + 1); if(this.pageNumber <= 0) this.pageNumber = 1; if(this.pageNumber > totalPage) this.pageNumber = totalPage; return SUCCESS; }}public class ListAction extends ActionSupport { private int pageNumber; private int pageSize; private int totalPage; private List<People> allPeoples;........省略get、set方法 public String execute(){ PageDao pDao = new PageDao(); allPeoples = HibernateUtils.getAllPeoples(pageNumber, pageSize); return SUCCESS; }}在Struts中应该这样配置 <action name="allPeoples" class="org.struts.action.ListAction"> <result name="success">pages/pageData.jsp</result> </action> <action name="pageAction" class="org.struts.action.PageAction"> <result type="redirect">allPeoples.action?pageNumber=${pageNumber}&totalPage=${totalPage}&pageSize=${pageSize}</result> </action>不知道可不可以帮助你,分页这种东西网上很多,找几个看看就行 我也写过一个封装的分页,就7个java文件。1、Compare.java,里面枚举比较关系2、LinkCondition.java,就是连接条件的类3、Pager.java,分页条件类,就是分页的下标、页显示数据条数、记录条数还有页数4、Order.java,排序条件,就是按哪个属性排序5、OrderDirect.java,排序方向,ASC还是DESC6、Condition.java,里面是放条件的类,参数名、参数值、关系、连接条件、分页条件、排序条件总之你sql语句用到的7、ResultList.java,就是结果表了,返回对象表。这都是当初在学校写的,分类有点累赘,不过显而易懂吧,以后再完善 hibernate 有自己的分页方法,可用查查资料即可。问题是如何将用户点击或者选择的页数传给hibernate oracle中, 图片存放在数据库中 还是 存放在服务器硬盘上? j2ee如何实现往客户端存文件 java 怎么动态输出输入的内容 JSP框架重载 请问在哪儿可以下载到WebSphere MQ Beta測試程序?(包含MQ server, client, runtime, SDK 和範例程式的套件) jsf下利用iReport报表输出的问题? 在java中如何比较两个日期 javamail无法判断新邮件 xml转换成为tree的问题,请各位高手不吝赐教! 关于jsf下拉列表问题 求解释,这段代码输出结果是?? 关于web中mysql密码存放方式
articles = new ArticleDao().findByPage(p);
hibernate:
public List<Article> findByPage(int p){
return session.createQuery("from Article")
.setFirstResult( 20 * (p - 1) )
.setMaxResult(20)
.list();
}
public class PageAction extends ActionSupport{
private int pageNumber = 1;
private int pageSize = 5;
private int totalPage;
........省略get、set方法
public String execute(){
PageDao pDao = new PageDao();
int employeeCount = pDao.getEmployeeCount();
this.totalPage = employeeCount % pageSize == 0?(employeeCount/pageSize):(employeeCount/pageSize + 1);
if(this.pageNumber <= 0)
this.pageNumber = 1;
if(this.pageNumber > totalPage)
this.pageNumber = totalPage;
return SUCCESS;
}
}
public class ListAction extends ActionSupport {
private int pageNumber;
private int pageSize;
private int totalPage;
private List<People> allPeoples;
........省略get、set方法
public String execute(){
PageDao pDao = new PageDao();
allPeoples = HibernateUtils.getAllPeoples(pageNumber, pageSize);
return SUCCESS;
}
}在Struts中应该这样配置 <action name="allPeoples" class="org.struts.action.ListAction">
<result name="success">pages/pageData.jsp</result>
</action>
<action name="pageAction" class="org.struts.action.PageAction">
<result type="redirect">allPeoples.action?pageNumber=${pageNumber}&totalPage=${totalPage}&pageSize=${pageSize}</result>
</action>不知道可不可以帮助你,分页这种东西网上很多,找几个看看就行
1、Compare.java,里面枚举比较关系
2、LinkCondition.java,就是连接条件的类
3、Pager.java,分页条件类,就是分页的下标、页显示数据条数、记录条数还有页数
4、Order.java,排序条件,就是按哪个属性排序
5、OrderDirect.java,排序方向,ASC还是DESC
6、Condition.java,里面是放条件的类,参数名、参数值、关系、连接条件、分页条件、排序条件总之你sql语句用到的
7、ResultList.java,就是结果表了,返回对象表。这都是当初在学校写的,分类有点累赘,不过显而易懂吧,以后再完善