SSH+ExtJs分页小例子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SSH+Extjs分页小例子
只做了简单的分页显示,
news表(id,newsTypeId,newsTitle,newsContent,newsDateTime)
newstype表(id,newstypeName)
1.NewsDAO.java
2.//一页显示的新闻
3.public List findPageAll(final int start,final int limit){
4. return getHibernateTemplate().executeFind(new HibernateCallba
ck(){
5. public Object doInHibernate(Session session)
6. throws HibernateException, SQLException {
7. Query q = session.createQuery("from News n left join fetch
n.newstype");
8. q.setFirstResult(start*limit);
9. q.setMaxResults(limit);
10. return q.list();
11. }
12. });
13. }
14.//得到记录总条数
15.public int totalRecord(){
16. int count = 0;
17. Long l = (Long)getHibernateTemplate().execute(new HibernateCa
llback(){
18. public Object doInHibernate(Session session)
19. throws HibernateException, SQLException {
20. Query q = session.createQuery("select count(n.id) from News
n");
21. return q.uniqueResult();
22. }
23. });
24. count = l.intValue();
25. return count;
26. }
27.
28.NewsAction.java
29.
30.public ActionForward list(ActionMapping mapping, ActionForm for
m, HttpServletRequest request, HttpServletResponse response) {
31. int totalProperty = adminService.totalPropertyByNews();
32. int start;
33. try {
34. start = Integer.parseInt(request.getParameter("start"));
35. } catch (NumberFormatException e1) {
36. start = 0;
37. }
38. int limit;
39. try {
40. limit = Integer.parseInt(request.getParameter("limit"));
41. } catch (NumberFormatException e1) {
42. limit = 2 ;
43. }
44. if(start>0)
45. start = start/limit;
46. //Hibernate级联时,用json有错误,要把被级联的那个对象干掉,这样
就没法显示被级联的对象了
47.// JsonConfig conf = new JsonConfig();
48.// conf.setExcludes(new String[]{"newstype"});
49.
50. List list = adminService.findPageAllNews(start, limit);
51. JSONArray jsonArray = new JSONArray();
52. Iterator ite = list.iterator();
53.//对list转变成的ite进行遍历,得到每个对象,并put到map里,再
把map放到json数组里
54. while(ite.hasNext()){
55. News news = (News) ite.next();
56. Map map = new HashMap();
57. map.put("id", news.getId());
58. map.put("newstype", news.getNewstype().getNewstypeName());
59. map.put("newsTitle", news.getNewsTitle());
60. map.put("newsContent", news.getNewsContent());
61. String time = new SimpleDateFormat("yyyy-MM-dd").format(news
.getNewsDateTime());
62. map.put("newsDateTime", time);
63. jsonArray.add(map);
64. }
65. String jsonStr = jsonArray.toString();
66.//为了分页,要加上start,limit,totalProperty,下面的符合json数据
的形式