`

Extjs+Servlet+Jsp+MySql分页

阅读更多

分页的例子paging.js , 不过只是前台代码,不过没关系,聊胜于无。一个字:改!下面是成果:
      DataGrid.js
Js代码
Ext.onReady(function(){  
    // create the Data Store  
    var store = new Ext.data.JsonStore({  
        root: 'bugs',  
        totalProperty: 'totalCount',  
        idProperty: 'threadid',  
        remoteSort: true,  
        fields: [  
            'id', 'name', 'date', 'origin',  
        ],  
        proxy: new Ext.data.HttpProxy({  
            //url:'http://localhost:8080/ExtjsPaging/Bug',  
            url:'../Bug',  
            method:'GET'
        })  
    });    
    var grid = new Ext.grid.GridPanel({  
        width:550,  
        height:300,  
        title:'ExtJS.com - Browse Forums',  
        store: store,  
        trackMouseOver:false,  
        disableSelection:true,  
        loadMask: true,  
        // grid columns  
        columns:[{  
            header: "Id",  
            dataIndex: 'id',  
            width: 220,  
            sortable: false
        },{  
            header: "Name",  
            dataIndex: 'name',  
            width: 100,  
            sortable: false
        },{  
            header: "Date",  
            dataIndex: 'date',  
            width: 70,  
            align: 'right',  
            sortable: false
        },{  
            header: "Origin",  
            dataIndex: 'origin',  
            width: 150,  
            sortable: false
        }],  
        // paging bar on the bottom  
        bbar: new Ext.PagingToolbar({  
            pageSize: 5,  
            store: store,  
            displayInfo: true,  
            displayMsg: 'Displaying topics {0} - {1} of {2}',  
            emptyMsg: "No topics to display",  
            items:[  
                '-', {  
                pressed: true,  
                enableToggle:true,  
                text: 'Show Preview',  
                cls: 'x-btn-text-icon details',  
                toggleHandler: function(btn, pressed){  
                    var view = grid.getView();  
                    view.showPreview = pressed;  
                    view.refresh();  
                }  
            }]  
        })  
    });  
    // render it  
    grid.render('topic-grid');  
    // trigger the data store load  
    store.load({params:{start:0, limit:5}});  
});
Ext.onReady(function(){
    // create the Data Store
    var store = new Ext.data.JsonStore({
        root: 'bugs',
        totalProperty: 'totalCount',
        idProperty: 'threadid',
        remoteSort: true,
        fields: [
            'id', 'name', 'date', 'origin',
        ],
        proxy: new Ext.data.HttpProxy({
            //url:'http://localhost:8080/ExtjsPaging/Bug',
            url:'../Bug',
            method:'GET'
        })
    });
    var grid = new Ext.grid.GridPanel({
        width:550,
        height:300,
        title:'ExtJS.com - Browse Forums',
        store: store,
        trackMouseOver:false,
        disableSelection:true,
        loadMask: true,
        // grid columns
        columns:[{
            header: "Id",
            dataIndex: 'id',
            width: 220,
            sortable: false
        },{
            header: "Name",
            dataIndex: 'name',
            width: 100,
            sortable: false
        },{
            header: "Date",
            dataIndex: 'date',
            width: 70,
            align: 'right',
            sortable: false
        },{
            header: "Origin",
            dataIndex: 'origin',
            width: 150,
            sortable: false
        }],
        // paging bar on the bottom
        bbar: new Ext.PagingToolbar({
            pageSize: 5,
            store: store,
            displayInfo: true,
            displayMsg: 'Displaying topics {0} - {1} of {2}',
            emptyMsg: "No topics to display",
            items:[
                '-', {
                pressed: true,
                enableToggle:true,
                text: 'Show Preview',
                cls: 'x-btn-text-icon details',
                toggleHandler: function(btn, pressed){
                    var view = grid.getView();
                    view.showPreview = pressed;
                    view.refresh();
                }
            }]
        })
    });
    // render it
    grid.render('topic-grid');
    // trigger the data store load
    store.load({params:{start:0, limit:5}});
});

     这前台没什么好说的,本来用的是ScriptTagProxy,我试了一下没成功,原因还没弄清楚,可能是回传数据的问题,以后再研究。个人感觉这些js这些东西的关键就是如何实现前后台数据的交互。

     BugDataServlet

 

Java代码
package org.shelocks.extjspaging;  

import java.io.IOException;  
import java.io.PrintWriter;  
import java.util.List;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import org.apache.jasper.tagplugins.jstl.core.ForEach;  
import org.shelocks.extjspaging.dao.BugDao;  
import org.shelocks.extjspaging.domain.Bug;  

/**
*
* @author shelocks
*/
public class BugDataServlet extends HttpServlet {  

    @Override
    public void init() throws ServletException {  
    }  

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  
        String start = req.getParameter("start");  
        String limit = req.getParameter("limit");  

        String sql = "select * from bug LIMIT " + start + "," + limit;  

        BugDao bugDao = new BugDao();  
        List<Bug> list = bugDao.queryBySql(sql);  

        StringBuilder sb = new StringBuilder();  
        sb.append("{totalCount:14,bugs:[");  
        for (Bug bug : list) {  
            sb.append("{");  
            sb.append("id:" + bug.getId());  
            sb.append(",name:" + "\'" + bug.getName() + "\'");  
            sb.append(",date:" + "\'" + bug.getDate() + "\'");  
            sb.append(",origin:" + "\'" + bug.getOrigin() + "\'");  
            sb.append("},");  

        }  
        String json = sb.substring(0, sb.length() - 1);  
        json += "]}";  
        resp.setContentType("text/html");  
        resp.setCharacterEncoding("UTF-8");  
        PrintWriter out = resp.getWriter();  
        out.println(json);  
        out.close();  
    }  

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  
        doGet(req, resp);  
    }  

    @Override
    public void destroy() {  
    }  
}
package org.shelocks.extjspaging;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.jasper.tagplugins.jstl.core.ForEach;
import org.shelocks.extjspaging.dao.BugDao;
import org.shelocks.extjspaging.domain.Bug;

/**
*
* @author shelocks
*/
public class BugDataServlet extends HttpServlet {

    @Override
    public void init() throws ServletException {
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String start = req.getParameter("start");
        String limit = req.getParameter("limit");

        String sql = "select * from bug LIMIT " + start + "," + limit;

        BugDao bugDao = new BugDao();
        List<Bug> list = bugDao.queryBySql(sql);

        StringBuilder sb = new StringBuilder();
        sb.append("{totalCount:14,bugs:[");
        for (Bug bug : list) {
            sb.append("{");
            sb.append("id:" + bug.getId());
            sb.append(",name:" + "\'" + bug.getName() + "\'");
            sb.append(",date:" + "\'" + bug.getDate() + "\'");
            sb.append(",origin:" + "\'" + bug.getOrigin() + "\'");
            sb.append("},");

        }
        String json = sb.substring(0, sb.length() - 1);
        json += "]}";
        resp.setContentType("text/html");
        resp.setCharacterEncoding("UTF-8");
        PrintWriter out = resp.getWriter();
        out.println(json);
        out.close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }

    @Override
    public void destroy() {
    }
}
   Servlet的配置

Xml代码
<servlet>
    <servlet-name>Bug</servlet-name>
    <servlet-class>org.shelocks.extjspaging.BugDataServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Bug</servlet-name>
    <url-pattern>/Bug</url-pattern>
</servlet-mapping>
    <servlet>
        <servlet-name>Bug</servlet-name>
        <servlet-class>org.shelocks.extjspaging.BugDataServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Bug</servlet-name>
        <url-pattern>/Bug</url-pattern>
    </servlet-mapping>
     BugDataServlet负责从后台获得数据,转换为json格式。bug是数据库表,4个字段id、name、date、origin,Bug是相应的类。

     paging.jsp

Html代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Paging Grid Example</title>

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

        <!-- GC -->
        <!-- LIBS -->
        <script type="text/javascript" src="../Extjs/adapter/ext/ext-base.js"></script>
        <!-- ENDLIBS -->

        <script type="text/javascript" src="../Extjs/ext-all.js"></script>

        <script type="text/javascript" src="../js/DataGrid.js"></script>
        <link rel="stylesheet" type="text/css" href="../css/grid-examples.css" />

        <!-- Common Styles for the examples -->
        <link rel="stylesheet" type="text/css" href="../css/examples.css" />
    </head>
    <body>
        <script type="text/javascript" src="../js/examples.js"></script><!-- EXAMPLES -->
        <h1>Paging Grid Example</h1>
        <p>This example shows how to create a grid with paging. This grid uses a ScriptTagProxy to fetch cross-domain  
            remote data (from the Ext forums).</p>
        <p>Note that the js is not minified so it is readable. See <a href="../js/DataGrid.js">DataGrid.js</a>.</p>

        <div id="topic-grid"></div>

    </body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Paging Grid Example</title>

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

        <!-- GC -->
        <!-- LIBS -->
        <script type="text/javascript" src="../Extjs/adapter/ext/ext-base.js"></script>
        <!-- ENDLIBS -->

        <script type="text/javascript" src="../Extjs/ext-all.js"></script>

        <script type="text/javascript" src="../js/DataGrid.js"></script>
        <link rel="stylesheet" type="text/css" href="../css/grid-examples.css" />

        <!-- Common Styles for the examples -->
        <link rel="stylesheet" type="text/css" href="../css/examples.css" />
    </head>
    <body>
        <script type="text/javascript" src="../js/examples.js"></script><!-- EXAMPLES -->
        <h1>Paging Grid Example</h1>
        <p>This example shows how to create a grid with paging. This grid uses a ScriptTagProxy to fetch cross-domain
            remote data (from the Ext forums).</p>
        <p>Note that the js is not minified so it is readable. See <a href="../js/DataGrid.js">DataGrid.js</a>.</p>

        <div id="topic-grid"></div>

    </body>
</html>

分享到:
评论
2 楼 Java路 2011-04-14  
解压还少了东西!
1 楼 Java路 2011-04-14  
项目少包里呀!

相关推荐

    extjs+servlet

    - **分页与排序**:Servlet应支持分页查询和动态排序,以提高性能。 6. **实战案例** - **用户管理**:使用ExtJS创建用户列表,添加、编辑、删除用户按钮,Servlet处理对应的CRUD操作。 - **数据表格**:ExtJS ...

    extjs+servlet+json简单应用

    总结来说,"extjs+servlet+json简单应用"是利用ExtJS构建前端界面,通过Ajax与Servlet进行通信,Servlet处理业务逻辑并返回JSON数据,再由ExtJS解析并展示。这种方式让前后端职责明确,提高了代码的可维护性和扩展性...

    最好用的通用后台管理extjs+MySQL+oracle+SQL server数据库源码

    这是本人自己总结最好用的通用后台管extjs+MySQL+oracle+SQL server数据库源码:主要运用了一下的知识: 1、主要运用的后台框架是extjs, 2、jsp+hibernate+Struts2+spring+ajax+jQuery, 3、用到了Java面向对象的...

    省市县三级连动三种实现方式(javascript+jsp+servlet)、(jquery+jsp+servlet)、(extjs4.0+jsp+servle)

    3. **ExtJS4.0+jsp+servlet实现**: ExtJS是一个完整的前端框架,它包含丰富的UI组件和强大的数据绑定机制。在实现三级联动时,可以使用ExtJS的ComboBox组件,通过store与远程数据源(servlet)连接,实现数据的...

    ExtJs+Servlet+Json简单示例

    用Ext写一个登陆界面,登陆完后进入一个...用Servlet发送请求,Json数据也是JS通过Servlet请求从数据库中读取显示在Grid表格中。例子比较简单,但方法很明朗。 代码没有经过处理,可能有些乱,但思路还是比较清晰的。

    ssh+extjs+mysql整合

    在"ssh+extjs+mysql整合"中,我们将SSH框架与ExtJS前端技术和MySQL数据库结合起来,构建一个完整的Web应用。以下是对这个整合过程的详细说明: 1. **Spring**:Spring作为核心框架,负责管理应用程序的各个组件,...

    ExtJS+Servlet表单验证和注册

    在"ExtJS+Servlet表单验证和注册"的示例中,ExtJS负责创建用户界面和前端验证。它可以通过自定义验证规则对用户输入的数据进行检查,如非空、邮箱格式、密码强度等。一旦表单验证通过,ExtJS会通过Ajax方式发送HTTP...

    php+Extjs+mysql实例

    本项目“php+Extjs+mysql实例”正是这样一个综合性的应用,它结合了三种技术,即PHP作为后端服务器语言,MySQL作为数据库管理系统,以及ExtJS作为前端JavaScript框架,实现了合同信息的全面管理功能,包括添加、修改...

    Extjs + Spring MVC + hibernate + mysql

    标题 "Extjs + Spring MVC + hibernate + mysql" 涉及的是一个综合性的Web应用程序开发框架,结合了前端UI库、后端MVC框架、ORM工具和关系型数据库。让我们详细了解一下这些技术及其在实际项目中的应用。 1. ExtJS...

    EXTJS + Struct +mysql +json

    EXTJS、Structs和MySQL是三个在Web开发中常见的技术组件,它们共同构成了一个完整的前后端数据交互系统。EXTJS是一种强大的JavaScript库,用于构建富客户端应用;Structs是基于Spring MVC模式的Java Web框架,常用于...

    extjs+servlet的增删改操作,绝对能跑起来!!!

    在"extjs+servlet的增删改操作"中,我们将探讨如何结合这两者实现数据的CRUD(Create、Read、Update、Delete)操作。 1. **ExtJS CRUD操作**: - **创建(Create)**:在ExtJS中,我们通常使用`Ext.data.Model`...

    extjs+servlet实现图片上传

    在本示例中,我们将探讨如何结合ExtJS 3和Servlet技术来实现图片上传功能。 首先,我们需要理解ExtJS的组件体系。在ExtJS中,`FileUploadField`是一个专门用于文件上传的表单字段。通过这个组件,用户可以在浏览器...

    基于 Extjs + spring + hibernate 的OA框架

    基于 Extjs + spring + hibernate 的OA框架 基于 Extjs + spring + hibernate 的OA框架 基于 Extjs + spring + hibernate 的OA框架

    ExtJs_servlet_JDBC 做的增删查改

    ExtJs、Servlet和JDBC是Web开发中的三个关键组件,它们在构建动态、交互式的Web应用程序时发挥着重要作用。下面将详细阐述这三个技术及其在"增删查改"(CRUD)操作中的应用。 首先,ExtJs是一个强大的JavaScript库...

    ExtJS4+Accordion+SERVLET/STRUTS2+JSON+Ext.tree.Panel实例

    在与ExtJS4结合使用时,Servlet通常用于接收前端发送的JSON数据请求,处理业务逻辑,并返回相应的JSON数据。 Struts2是一个基于MVC设计模式的Java Web框架,用于简化企业级应用开发。它提供了处理用户请求、控制...

    htmleditor扩展插入图片功能,使用Extjs+servlet请求实现

    本文将深入探讨如何使用ExtJS框架结合Servlet来扩展HTML Editor的插入图片功能。 首先,ExtJS是一个强大的JavaScript组件库,用于构建桌面级的Web应用程序。它的组件丰富,界面美观,适用于创建复杂的用户界面。在...

    ExtJS+JSP+Servlet酒店管理系统(完整版)

    从文件结构可以看出,该压缩文件包含了整个软件开发的全部流程。 实现的功能:客房,楼层,商品类别,商品,会员的增删改查,预定信息的增删,预定转入住,换房管理,结账管理,直接入住管理,用户管理,日志的查询...

    Extjs+SpringMVC+MyBaits财务管控系统

    《基于Extjs、SpringMVC和MyBatis的财务管控系统构建详解》 在现代企业信息化建设中,财务管控系统的构建至关重要,它能够帮助企业高效管理财务数据,提高运营效率,确保财务安全。本文将深入探讨如何利用Extjs、...

    ssh2+extjs+mysql

    SSH2+ExtJS+MySQL是一种常见的技术栈组合,用于构建基于Web的、具有强大后端功能和现代化前端界面的应用程序。下面将详细解释这三个技术组件及其在开发中的作用。 **SSH2 (Struts2 + Spring + Hibernate)** SSH2是...

    extjs+servlet+json+soundmanager2实现定时刷新报警声音(原创)

    本人经过今天研究开发的基于sqlserver2000的,定时刷新读取数据库,如果有新的报警,提示音。

Global site tag (gtag.js) - Google Analytics