extjs分页小例子
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 }