extjs分页小例子

来源:岁月联盟 编辑:exp 时间:2012-07-19

01 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 

02 <% 

03 String path = request.getContextPath(); 

04 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 

05 %> 

06   

07 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

08 <html> 

09   <head> 

10       

11     <title>My JSP 'ext.jsp' starting page</title> 

12       

13     <meta http-equiv="pragma" content="no-cache"> 

14     <meta http-equiv="cache-control" content="no-cache"> 

15     <meta http-equiv="expires" content="0">     

16     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 

17     <meta http-equiv="description" content="This is my page"> 

18   

19     <link rel="stylesheet" type="text/css" href="<%=basePath%>ext/resources/css/ext-all.css"> 

20     <script type="text/javascript" src="<%=basePath%>ext/ext-base.js"></script> 

21     <script type="text/javascript" src="<%=basePath%>ext/ext-all.js"></script> 

22     <script type="text/javascript" src="<%=basePath%>ext/ext-lang-zh_CN.js"></script> 

23     <script type="text/javascript"> 

24     Ext.onReady(function(){ 

25         var store=new Ext.data.JsonStore({ 

26                url:"<%=basePath%>lpm/step2.action", 

27                autoLoad:{params:{start:0,limit:10}},  //传递到后台的参数 

28                fields:["userid","name"], 

29                root:"data",                         //从后台取得的数据 

30                totalProperty:"count"                //从后台取得的数据总量 

31         }); 

32   

33         var column=new Ext.grid.ColumnModel( 

34             [ 

35             {header:"编号",dataIndex:"userid",sortable:true}, 

36             {header:"姓名",dataIndex:"name",sortable:true} 

37             ] 

38         ); 

39           

40         var grid = new Ext.grid.GridPanel({ 

41             renderTo:"hello", 

42             title:"Hello world", 

43             height:300, 

44             width:470, 

45             cm:column, 

46             store:store, 

47             autoExpandColumn:0, 

48             loadMask:true, 

49             frame:true, 

50             autoScroll:true, 

51             bbar:new Ext.PagingToolbar({ 

52                 pageSize:10,    

53                 store:store,  

54                 displayInfo: true,     

55                 displayMsg: '显示 {0}-{1}条记录,共 {2} 条',     

56                 emptyMsg: "没有记录"  

57               

58             })  

59       

60         }); 

61   

62           

63    }) 

64     </script> 

65   </head> 

66     

67   <body> 

68     <div id="hello"></div> 

69   </body> 

70 </html>

后台action代码:

01 package com.china.action; 

02   

03   

04 import java.io.PrintWriter; 

05 import java.util.ArrayList; 

06 import java.util.HashMap; 

07 import java.util.List; 

08 import java.util.Map; 

09   

10 import javax.persistence.EntityManager; 

11 import javax.persistence.EntityManagerFactory; 

12 import javax.persistence.Persistence; 

13 import javax.persistence.Query; 

14 import javax.servlet.http.HttpServletRequest; 

15 import javax.servlet.http.HttpServletResponse; 

16   

17 import net.sf.json.JSONArray; 

18 import net.sf.json.JSONObject; 

19   

20 import org.apache.struts2.ServletActionContext; 

21 import org.apache.struts2.convention.annotation.Action; 

22 import org.apache.struts2.convention.annotation.Namespace; 

23 import org.apache.struts2.convention.annotation.Result; 

24   

25 import com.opensymphony.xwork2.ActionContext; 

26 import com.opensymphony.xwork2.ActionSupport; 

27   

28 @Namespace("/lpm") 

29 public class Lpmcon extends ActionSupport{   

30     @Action(value="step2"

31             ) 

32     public String getRes2(){ 

33         HttpServletRequest request=ServletActionContext.getRequest(); 

34         try{ 

35             EntityManagerFactory ef=Persistence.createEntityManagerFactory("mysql"); 

36             EntityManager em=ef.createEntityManager(); 

37             Query qu=em.createQuery("from persion order by userid"); 

38             int count=qu.getResultList().size(); 

39            // List list=qu.getResultList(); 

40              

41             String start=request.getParameter("start"); 

42             String limit=request.getParameter("limit"); 

43             List list=qu.setFirstResult(Integer.parseInt(start)) 

44                         .setMaxResults(Integer.parseInt(limit)) 

45                         .getResultList(); 

46               

47             Map map=new HashMap(); 

48             map.put("data", list); 

49             map.put("count",count); 

50             JSONObject jalist=JSONObject.fromObject(map); 

51             System.out.println(jalist.toString()); 

52               

53             HttpServletResponse hsr=ServletActionContext.getResponse(); 

54             PrintWriter pw=hsr.getWriter(); 

55             pw.print(jalist.toString()); 

56         }catch(Exception e){ 

57             e.printStackTrace(); 

58         } 

59         return null; 

60       

61           

62     } 

63 }