`
Narcissu
  • 浏览: 982 次
  • 性别: Icon_minigender_1
  • 来自: 辽宁
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

初始EXT分页

阅读更多
本人第一篇博客,没什么太多想说的,自己学习EXT有一段时间了,由于本人比较笨,历尽千辛万苦,终于做出来了EXT采用JSON对象的分页查询,拿出来与各位EXT初学者分享一下,最简单的分页了,见笑见笑:
JSP页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css"
href="ext/resources/css/ext-all.css">
<script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext/ext-all.js"></script>

</head>

<body>
<script type="text/javascript" src = 'json.js'></script>
<div align='center' id='panel1'></div>
</body>
</html>
JS文件:
Ext.onReady(function(){

    Ext.QuickTips.init();
  
   var record = new Ext.data.Record.create([{
        name: 'id'
    }, {
        name: 'name'
    }, {
        name: 'tele'
    }]);
    var store = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({
        url:'/JSONTest/data.do'
        }),
        reader: new Ext.data.JsonReader({
            totalProperty:'total',
            root: 'infor',
            id: 'id'
        }, record),
       
        storeInfo: {
            field: 'id',
            direction: 'asc'
        }
    });
   
   
   
    var grid = new Ext.grid.GridPanel({
        store: store,
        ddGroup: 'treeDD',
        border: false,
       
        enableDrag: true,
       
        columns: [{
            id: 'id',
            header: '用户ID',
            autoWidth: true,
            width: 80,
            dataIndex: 'id',
            sortable: true
        }, {
            header: '用户姓名',
            width: 80,
            dataIndex: 'name',
            sortable: true
        }, {
            header: '联系电话',
            width: 80,
            dataIndex: 'tele',
            sortable: true
        }],
        stripeRows: true,
        autoExpandColumn: 1
    });
    store.load({
params:{
start:0,
limit:4
}
});

var pagingToolbar = new Ext.PagingToolbar({
pageSize:4,
store:store,
displayInfo:true
});
   
    var dataPanel = new Ext.Panel({
        style: 'padding:0px 0px 5px 0px',
        region: 'center',
        title: '联系方式',
        layout: 'fit',
        autoScroll: true,
        closable: true,
        tbar:pagingToolbar,
        items: grid
    });
   
    var panel = new Ext.form.FormPanel({
        layout: 'border',
        width: 800,
        height: 400,
        applyTo: 'panel1',
        items: [dataPanel]
    });
 
});
后台代码:
public class DataAction extends Action {

Infor infor;
InforDAO id = new InforDAO();
String ID = "id";
String NAME = "name";
String TELE = "tele";
String INFOR = "infor";
String TOTAL = "total";

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int start = Integer.parseInt(request.getParameter("start"));
int limit = Integer.parseInt(request.getParameter("limit"));

System.out.println("start is "+start);
System.out.println("limit is "+limit);
int num = id.findAll().size();
JSONObject json = new JSONObject();
List<Infor> list = new ArrayList();
List inf = new ArrayList();
Map map = new HashMap();
       
list = id.paging(start, limit);
Iterator <Infor> ite = list.iterator();
while(ite.hasNext())
{
Map map1 = new HashMap();
infor = ite.next();
map1.put(ID,infor.getId());
map1.put(NAME, infor.getName());
map1.put(TELE, infor.getTele());
inf.add(map1);

}
map.put(INFOR, inf);
map.put(TOTAL, num);
json = json.fromObject(map);
System.out.println(json.toString());
out.print(json);
return null;
}
}
不过,我总是会遇到问题,比如说GridPanel中 Columns属性中的header属性内容无法显示的问题,希望多多指教
0
0
分享到:
评论

相关推荐

    ext分页客户端demo Java js

    在这个"ext分页客户端demo Java js"的示例中,我们将探讨EXTJS如何实现客户端分页,以及如何与后端(如Java)进行数据交互,而无需在服务器端编写额外的Java代码。 EXTJS中的分页组件主要由Ext.grid.Panel和Ext....

    EXT 分页,树形结构案列

    EXT分页主要是为了处理大数据集,提高网页加载速度和用户体验。它通过与服务器进行交互,每次只请求和显示一部分数据,而不是一次性加载所有数据。这降低了对服务器资源的需求,并减少了网络传输的数据量。 1. 分页...

    ext grid json分页显示

    1. 前端EXT Grid初始化时,设置好分页参数,如每页记录数。 2. 当用户滚动到Grid的底部或者点击分页导航条时,EXT Grid会触发Ajax请求,向服务器发送当前的页码和每页记录数。 3. DWR接收到请求后,根据这些参数在...

    Ext实现分页查询,前台

    在IT行业中,分页查询是常见的数据展示方式,...这样的实现方式使得前端能够动态地从服务器获取分页数据,减少了初始加载时的数据量,提高了页面响应速度。同时,用户可以方便地浏览和操作大量的数据,提高了用户体验。

    Ext前台分页

    本篇文章将详细讲解基于Ext JS框架实现前台分页的原理和方法。 首先,理解“前台分页”概念。前台分页指的是在客户端,即用户的浏览器端进行数据的分页处理,而不是在服务器端。这种方式的优点是减少了服务器的负载...

    ext tree 分页

    在EXT JS框架中,"ext tree 分页"是一种优化技术,用于处理大量数据时避免页面卡顿的问题。在EXT JS的树形组件(TreePanel)中,如果一次性加载所有节点,特别是当树结构非常深或者节点数量巨大时,不仅会消耗大量...

    修复Ext3.0.0中自定义分页的小bug

    标题中的“修复Ext3.0.0中自定义分页的小bug”指的是在Ext JS框架的3.0.0版本中,用户在实现自定义分页功能时遇到的一个问题。Ext JS是一个流行的JavaScript库,主要用于构建富客户端Web应用程序,它的组件库包含了...

    ext2.0 grid 分页实例(php)

    - 在Grid中,可以监听`load`事件来处理数据加载完成后的一些逻辑,例如初始化或更新分页信息。 - Paging Toolbar的`beforechange`和`change`事件可用于在用户切换页码前后的操作,比如禁用按钮或显示加载动画。 5...

    Ext.net后台分页增删改

    在"Ext.NET后台分页增删改"这个主题中,我们将探讨如何利用Ext.NET实现数据库后台分页、树形视图操作以及Grid面板的CRUD(创建、读取、更新和删除)功能。 首先,让我们深入了解一下后台分页。在Ext.NET中,为了...

    Ext2.2.GridPanel分页处理+dwrproxy(js对象和json两种数据)

    baseParams: {start: 0, limit: 25} // 分页参数:初始开始位置和每页记录数 }); var grid = new Ext.grid.GridPanel({ store: store, columns: [/*...*/], // 列定义 viewConfig: { forceFit: true // 自动...

    Ext Grid +dwr 列表展示展示带分页

    5. **加载初始数据**: 最后,初始化Grid时,调用数据源的`load`方法,传递初始分页参数,加载第一页数据到Grid中。 总结,本示例展示了如何使用Ext Grid和DWR结合实现一个具有分页功能的列表展示。通过这种方式,...

    ExtJs3.* 分页树 Ext.ux.tree.PagingTreeLoader

    ExtJs 3.x 分页树(Ext.ux.tree.PagingTreeLoader)是一个强大的扩展,它在处理大量数据时尤其有用,因为树形结构通常需要显示大量的层级和节点。这个组件引入了分页功能,允许用户逐步加载树节点,而不是一次性加载...

    Ext教程ext2-Ext简易教程

    例如,Ext的`Ext.onReady`函数用于确保DOM加载完成后再执行代码,这是初始化Ext组件的常见方法。以下是一个简单的例子,展示如何使用MessageBox组件弹出一个警告对话框: ```html Ext.onReady(function() { Ext....

    ext2.0项目源代码供大家学习ext使用

    6. **GridPanel**:EXT的表格组件,可展示大量数据并支持排序、过滤、分页等功能。 7. **FormPanel**:用于创建表单,支持各种表单元素,并能进行验证和数据提交。 8. **Drag and Drop**:EXT支持拖放操作,允许...

    ext实例 ext操作步骤

    3. **启动EXT**:使用`Ext.onReady`函数在DOM加载完成后执行EXT的初始化代码,例如弹出一个消息框。 ```javascript Ext.onReady(function() { Ext.MessageBox.alert("你好", "wayfoon"); }); ``` 4. **创建布局...

    php 分页 多种精美样式

    `ext_page.class.php`可能是用于分页的一个类文件,它可能包含了初始化分页参数、生成分页链接、获取当前页、计算总页数等功能。这样的类通常会有以下方法: 1. `__construct($totalRows, $perPage)`: 初始化总记录...

    SSI+EXT (Struts2+Spring+Ibatis+Ext)

    这部分通常包含项目使用的数据库脚本,可能包括创建表的DDL语句、初始化数据的DML语句等。在本例中,数据库是SQL Server 2000,开发者需要确保数据库环境已正确配置,并根据提供的脚本创建和填充必要的表。 **...

    SH+ext 的小型邮件系统

    本项目“SH+ext的小型邮件系统”利用Struts1、Hibernate框架,并结合EXT前端组件库,实现了一个功能完备且具有分页功能的邮件应用。接下来,我们将深入探讨其中的关键技术和实现细节。 首先,Struts1是Java Web应用...

    ext 3.0 中文API

    它可以进行分页、排序、过滤和编辑,且支持行选择模式,如单选和多选。 3. **Form**:EXT提供了强大的表单组件,如文本字段、下拉框、复选框、单选按钮等,以及表单验证功能。这些组件可以与服务器端进行数据交换,...

    Ext项目小框架介绍源码

    - **Ext Application**:它是Ext JS中的顶级构造函数,负责整个应用的初始化、路由管理和模块管理。通过定义应用的配置项,可以设置主视图、控制器、存储等核心组件。 - **MVC模式**:Model-View-Controller模式是...

Global site tag (gtag.js) - Google Analytics