`

Ext+Webwork+Json 实现分页表格查询效果

阅读更多

效果图:

ext-Grid1

前台代码:

<%@ page language="java"  pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="ext-2.2/resources/css/ext-all.css" />
    <script type="text/javascript" src="ext-2.2/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="ext-2.2/ext-all.js"></script>

  </head>
  <body>
    <script type="text/javascript">
    Ext.onReady(function(){
        var store=new Ext.data.JsonStore({
           root: "result",
           totalProperty:"totalCount",
           fields:["id","name","sex"],
           proxy: new Ext.data.HttpProxy({
              url:"testJSON.action"
           })
        });
        var pagebar=new Ext.PagingToolbar({
             pageSize:10,
             store:store,
             displayInfo:true,
             displayMsg:"显示 {0}-{1} 共 {2}",
             emptyMsg:"No data"
        });
        var colM=new Ext.grid.ColumnModel([
        {header:"序号",dataIndex:"id",sortable:true,hideable:true},
        {header:"姓名",dataIndex:"name",sortable:true,hideable:true},
        {header:"性别",dataIndex:"sex",sortable:true,hideable:true}
        ]);
        var grid=new Ext.grid.GridPanel({layout:"fit",cm:colM,store:store,autoHeight:true,loadMask:true});
        var form1=new Ext.form.FormPanel({
                             layout:"form",
                             frame:true,
                             items:[
                               {
                                 layout:"column",
                                 border:false,
                                 items:[
                                    {
                                      columnWidth:.3,
                                      layout:"form",
                                      border:false,
                                      items:[
                                         {
                                          xtype:"textfield",
                                          fieldLabel:"姓名",
                                          name:"name",
                                          anchor:"90%"
                                         },
                                         {
                                          xtype:"textfield",
                                          fieldLabel:"职务名称",
                                          name:"postName",
                                          anchor:"90%"
                                         }
                                      ]
                                    },
                                    {
                                      columnWidth:.3,
                                      layout:"form",
                                      border:false,
                                      items:[
                                        {
                                         xtype:"textfield",
                                         fieldLabel:"性别",
                                         name:"sex",
                                         anchor:"90%"
                                        },
                                        {
                                         xtype:"textfield",
                                         fieldLabel:"职务层次",
                                         name:"postLevel",
                                         anchor:"90%"
                                        }
                                      ]
                                    },
                                    {
                                      columnWidth:.4,
                                      layout:"form",
                                      border:false,
                                      items:[
                                      {
                                        xtype:"textfield",
                                        fieldLabel:"身份证号码",
                                        name:"cardNo",
                                        anchor:"90%"
                                      }
                                      ]
                                    }
                                 ]
                               }
                             ],
                             buttons:[
                               {
                               text:"查询",
                               handler:search
                               },
                               {
                               text:"重置"
                               }
                             ]
        });

      //查询按钮事件
        function search(){
           store.reload({params:{start:0,limit:10,name:Ext.get("name").dom.value}});
        }
        new Ext.Viewport({
               layout:"border",
               items:[
                  new Ext.Panel({
                     title:"查询条件",
                     region:"north",
                     collapsible:true,
                     height:150,
                     items:[form1]
                  }),
                  new Ext.Panel({
                     title:"列表",
                     region:"center",
                     collapsible:true,
                     items:[grid],
                     bbar:pagebar
                  })
               ]
        });

 

//给store添加load的pamas
        store.on("beforeload",function(){
           store.baseParams={name:Ext.get("name").dom.value};
        });
        store.load({params:{start:0,limit:10}});
    });
    </script>
  </body>
</html>

 

后台代码:

package com.test;

import com.opensymphony.webwork.dispatcher.json.JSONArray;
import com.opensymphony.webwork.dispatcher.json.JSONObject;
import com.opensymphony.webwork.dispatcher.json.JSONString;
import com.opensymphony.xwork.ActionSupport;

public class TestJson extends ActionSupport{
    private String start;
    private String limit;
    private String name;
    private JSONObject jsonObject;
    public String execute()throws Exception{
        int i=Integer.parseInt(start);
        int j=Integer.parseInt(limit);
        System.out.println("name:"+name);
        JSONArray jsonArray=new JSONArray();
        for(int a=i;a<i+j;a++){
            JSONObject json=new JSONObject();
            json.put("id", a);
            if(name!=null&&!"".equals(name)){
                json.put("name", "searchName:"+name);   
            }else{
                json.put("name", "name"+a);
            }
            json.put("sex", "sex");
            jsonArray.put(json);
        }

        jsonObject=new JSONObject();
        jsonObject.put("totalCount", "100");
        jsonObject.put("result", jsonArray);
        System.out.println(jsonObject.toString());
        return SUCCESS;
    }

    public JSONObject getJsonObject() {
        return jsonObject;
    }

    public void setJsonObject(JSONObject jsonObject) {
        this.jsonObject = jsonObject;
    }

    public String getLimit() {
        return limit;
    }

    public void setLimit(String limit) {
        this.limit = limit;
    }

    public String getStart() {
        return start;
    }

    public void setStart(String start) {
        this.start = start;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

 

xwork.xml中的配置:

image

版本为Ext-2.2 ,Webwork2.2.7

分享到:
评论
1 楼 hujin19861102 2017-09-20  
截图看不见,最后一个webwrok的配置看不见

相关推荐

    EXT+Spring+Hibernate+WebWork项目

    7. 使用这些技术实现监控系统的性能优化,如分页查询、异步加载、缓存策略等。 通过这个项目,开发者可以深入理解这些框架的协同工作方式,提升在企业级应用开发中的实战能力。同时,对于初学者来说,这是一个很好...

    spring+hibernate+webwork相关配置

    标题 "spring+hibernate+webwork相关配置" 指的是一个集成开发环境的配置,其中涵盖了三个关键的技术框架:Spring、Hibernate和WebWork。这些框架在Java Web开发中非常常见,主要用于实现依赖注入、持久化管理和MVC...

    webwork2.2.7+spring+hibernate分页查询

    本项目采用WebWork 2.2.7框架结合Spring和Hibernate技术实现了一个基本的用户数据分页查询功能。主要目标是根据用户输入的用户名获取相应的数据,并以分页的形式展示给用户。 #### 二、系统结构分析 项目采用了...

    java私塾][Spring讲解+webwork2整合+webwork2整合全套

    根据提供的文件信息,我们可以推断出这是一篇关于Java私塾中的Spring框架讲解与WebWork2整合教程的文章。下面将围绕这些关键词展开详细的讲解。 ### Spring框架基础 #### Spring简介 Spring是一个开源框架,最初由...

    Spring+Webwork+iBatis 组合实例

    ### Spring+WebWork+iBatis 组合实例详解 #### 一、概述 在Java Web开发领域,Spring、WebWork与iBatis是三个非常重要的框架。本篇将结合具体的配置文件来详细介绍这三个框架是如何协同工作的,以及它们各自在项目...

    fileupload+dwr2+webwork2实现带进度条上传文件

    "fileupload+dwr2+webwork2实现带进度条上传文件"这个主题涉及到三个关键技术和组件:FileUpload、Direct Web Remoting (DWR) 和 WebWork2,它们协同工作以提供一个带有进度条的高效、用户友好的文件上传体验。...

    spring+webwork+ibatis

    【标题】"Spring+WebWork+Ibatis"整合框架详解 在现代Web应用程序开发中,框架的集成使用能够显著提高开发效率和代码质量。"Spring+WebWork+Ibatis"是一个经典的组合,它将Spring的强大功能、WebWork的轻量级MVC...

    Spring + hibernate + webwork + freemarker 整合配置

    本示例中,我们探讨的是如何将Spring、Hibernate、WebWork和FreeMarker这四个组件整合到一起,实现一个强大的后端服务架构。 首先,`web.xml`是部署描述符文件,它是Java EE Web应用程序的核心配置文件。在这里,...

    个关于freemarker+webwork+spring+ibatis的demo文档

    个关于freemarker+webwork+spring+ibatis的demo文档

    jquery AJAX+webwork+ibatis无刷新日程提醒

    "jquery AJAX+webwork+ibatis无刷新日程提醒"就是一个典型的利用这些技术实现的Web应用功能。下面我们将深入探讨这个话题。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画制作以及...

    spring+ibatis+webwork框架搭配

    具体而言,我们将重点关注如何配置这些框架以实现良好的集成效果,并特别关注在Oracle数据库环境下的应用。 #### 一、Spring框架介绍与配置 **Spring框架**是Java平台上最受欢迎的企业级应用开发框架之一,它提供...

    veloctiy+webwork+ibatis+spring资料

    【veloctiy+webwork+ibatis+spring资料】这套学习资源主要涵盖了四个在Java Web开发领域中常用的技术框架:Velocity、WebWork、iBATIS和Spring。这四大框架各有其独特功能,组合使用可以构建出高效、灵活的业务应用...

    struts2+webwork+spring.rar

    这个"struts2+webwork+spring.rar"压缩包文件很可能是提供了一个整合这三个框架的示例项目或者教程资源。 首先,让我们详细了解一下这三个框架: 1. **Struts2**:Struts2是Apache软件基金会的一个开源项目,它是...

    struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework

    struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework

    Spring+iBatis+WebWork+oracle

    标题中的"Spring+iBatis+WebWork+Oracle"是一个经典的Java Web开发技术组合,用于构建高效、可扩展的Web应用程序。下面将详细解释这四个组件及其在开发中的作用。 1. **Spring框架**:Spring是Java领域的一个核心...

    Ext+Struts2的学生成绩管理系统

    Ext可以创建动态的查询条件,Struts2处理查询请求,返回查询结果,并利用模板技术生成对应的视图。 4. **统计分析**:系统能够生成各种成绩报表,如平均分、排名等。这通常涉及到复杂的计算逻辑,可能需要用到...

    基于JSP+WebWork+iBATIS的小系统

    【标题】"基于JSP+WebWork+iBATIS的小系统" 涉及到的是一个典型的Java Web开发架构,主要用于构建轻量级的企业级应用程序。这个小系统利用了三种技术来实现动态网页、业务逻辑控制以及数据库交互。下面将详细阐述这...

Global site tag (gtag.js) - Google Analytics