漫步红林

品味技术与生活之间的差距,追求代码与国画之间的艺术.

BlogJava 联系 聚合 管理
  0 Posts :: 28 Stories :: 2 Comments :: 0 Trackbacks
 1package com.dc.news.service.helper; 
 2import java.util.List; 
 3import com.dc.news.service.persistence.IfNewsReplyDAO; 
 4import com.dc.news.service.persistence.NewsReplyDAOImpl; 
 5public class pageHelper 
 6/** 
 7  * 分页帮助类 
 8  */
 
 9public static IfNewsReplyDAO nrdao = new NewsReplyDAOImpl(); 
10private int pageSize; //单页能显示的数量 
11private int totalSize; // 数据总数据量 
12private int totalPage; // 总页数 
13private String cur;   // page 的参数值 
14private int curPage; //当前页 
15private int start; //起始页 
16
17  public int getPageSize() 
18           return pageSize; 
19       }
 
20  public void setPageSize(int pageSize) 
21              this.pageSize = pageSize; 
22              this.totalSize = nrdao.queryAll(); 
23              if (totalSize % pageSize == 0)
                                 totalPage 
= totalSize/pageSize; 
24             else 
                                 totalPage 
= (totalSize/pageSize)+1
25      }
 
26
27    public List getSomeReply()
28                  return nrdao.getSomeReply(start, pageSize); 
29        }
 
30     public void setCur(String cur) 
31                      this.cur = cur; 
32                 if (cur == null
33                                  int curPage = 1
34                }
else
35                      try 
36                                    curPage = Integer.parseInt(cur); 
37                                if (curPage < 1
38                                              curPage = 1
39                                }
else if (curPage > totalPage) 
40                                              curPage = totalPage; 
41                                    }
 
42                         }
 catch (Exception e) 
43                                         curPage = 1
44                                         e.printStackTrace(); 
45                            }
 
46                              start = (curPage-1)*pageSize; 
47                      }
 
48           }
 
49       public int getCurPage() 
50                    return curPage; 
51           }
 
52        public int getTotalPage() 
53                        return totalPage; 
54            }
 
55        public int getTotalSize() 
56                      return totalSize; 
57             }
 
58  }
 
59

DAO方法:
 1package com.dc.news.service.persistence; 
 2import java.util.List; 
 3import org.hibernate.Query; 
 4import org.hibernate.Session; 
 5import com.dc.news.service.factory.HibernateSessionFactory; 
 6public class NewsReplyDAOImpl implements IfNewsReplyDAO 
 7
 8     public List getSomeReply(int start, int pageSize) 
 9                 Session session = HibernateSessionFactory.getSession(); 
10                Query query = session.createQuery("from NewsReply"); 
11                 query.setCacheable(true); 
12                 query.setFirstResult(start); 
13                 query.setMaxResults(pageSize); 
14                  return query.list(); 
15        }
 
16}
 
17


JSP显示

 1<jsp:useBean id="dao" class="com.model.NewsReplyDAOImpl" scope="session"></jsp:useBean> 
 2<jsp:useBean id="helper" class="com.helper.PageHelper" scope="session"></jsp:useBean> 
 3<jsp:setProperty name="helper" property="pageSize" value="3" /> 
 4<!-- 设置当前页 --> 
 5<jsp:setProperty name="helper" property="cur" 
 6  value="<%=request.getParameter("page")%>" /> 
 7
 8
 9<a href="dangdang.jsp">首 页 </a> 
10            <a href="dangdang.jsp?page=<%=helper.getCurPage() - 1%>">上一页</a> 
11            <a href="dangdang.jsp?page=<%=helper.getCurPage() + 1%>">下一页</a> 
12            <a href="dangdang.jsp?page=<%=helper.getTotalPage()%>">尾 
13             页</a> 页次:: 
14            <%=helper.getCurPage()%> 
15            / 
16            <%=helper.getTotalPage()%> 
17            页 共有${helper.totalSize}种商品 转到 
18            <input class="textField" maxlength="5" size="2" value="2" 
19             name="page" tyep="TEXT" /> 页 
20
posted on 2009-02-21 15:48 苦瓜 阅读(188) 评论(0)  编辑  收藏 所属分类: JSP/Servlet

只有注册用户登录后才能发表评论。


网站导航: