`
cpu
  • 浏览: 168127 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ExtJs 3.0 + Struts 2.1 + JsonPlugin 0.33

阅读更多
我的学习成果和大家分享一下。我的学习资料来源于网络,感谢前辈们。
我作了一些改动,没有连接数据库,节省时间。因为我们的目的是让代码跑通。
欢迎大家提出意见


struts2的json plugin的位置在:http://code.google.com/p/jsonplugin/
下载json plugin的jar包,放到/WEB-INF/lib/目录下就可以了

1. Model  PO JavaBean

public class Person {
    private Long id;
    private String name;
    private String sex;
    private String descn;

    public Long getId() {
        return id;
    }

	//......
}



2. Service 用于造数据的
public class PersonService {
    public static List getPage() {
        List list = new ArrayList();

         for (int i = start + 1; i <= start + limit; i++) {
               Person p = new Person();
                p.setId(new Long(i));
                p.setName("Zhangsan");
                p.setSex("F");
                p.setDescn("I am NO." + i );

                list.add(p);
        }

        return list;
    }
}


3. Struts 2 的 action
public class PersonPageAction extends ActionSupport{
    private int limit = 10;
    private int start = 0;
    private int total = 0;
    private List persons = new ArrayList();
    private boolean success = true;

    public int getLimit() {
        return limit;
    }

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

    public int getStart() {
        return start;
    }

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

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public List getPersons() {
        return persons;
    }

    public void setPersons(List persons) {
        this.persons = persons;
    }

    public boolean isSuccess() {
        return success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }

    @Override
    public String execute() throws Exception {
        total = 100;
        persons = PersonService.getPage(start, limit);
        return SUCCESS;    
    }
}


4. Struts的配置文件,放到src下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    
	<constant name="struts.i18n.encoding" value="UTF-8"/>
    <package name="person" extends="json-default">
        <action name="list" class="com.extjs.action.PersonPageAction">
            <result type="json"/>
        </action>
    </package>
</struts>


5. 前台页面
<html>
<head>
    <title>Struts Test</title>

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

    <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="../../ext-all-debug.js"></script>

    <script type="text/javascript" src="struts.js"></script>

</head>
<body>
<div id="struts"></div>
</body>



6. Ext 的 js 文件
Ext.onReady(function() {
    Ext.QuickTips.init();

    var sm = new Ext.grid.CheckboxSelectionModel(); // CheckBox
    var cm = new Ext.grid.ColumnModel([
        new Ext.grid.RowNumberer(), //
        sm,
        {header: "编号", dataIndex: 'id'},
        {header: "性别", dataIndex: 'sex'},
        {header: "名称", dataIndex: 'name'},
        {header: "描述", dataIndex: 'descn'}
    ]);

    var ds = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({url: '/list.action'}),
        reader: new Ext.data.JsonReader({
            totalProperty: 'total',
            root: 'persons',
            successProperty: 'success'
        }, [
            {name: 'id', mapping: 'id', type: 'int'},
            {name: 'sex', mapping: 'sex', type: 'string'},
            {name: 'name', mapping: 'name', type: 'string'},
            {name: 'descn', mapping: 'descn', type: 'string'}
        ])
    });

    var grid = new Ext.grid.GridPanel({
        el: 'struts',
        ds: ds,
        sm: sm,
        cm: cm,
        width: 700,
        height: 280,

        bbar: new Ext.PagingToolbar({
            pageSize:10,
            store: ds,
            displayInfo: true,
            displayMsg: '显示第 {0} 条到 {1} 条记录, 共 {2} 条',
            emptyMsg: '没有记录'
        })
    });

    grid.render();
    ds.load({params: {start: 0, limit:10}});
});


[img][/img]
分享到:
评论
1 楼 excite 2009-11-22  
呵呵,不错
根据你的步骤,我也成功了,多谢

相关推荐

    extjs3.0+struts2源码

    ExtJS 3.0 和 Struts2 是两个在Web开发领域广泛应用的开源框架。ExtJS 是一个用于构建富客户端(Rich Internet Applications,RIA)的JavaScript库,它提供了丰富的组件库和用户界面,使得开发者可以创建出具有桌面...

    ExtJS4+Struts2.1的Grid 增删改查

    ExtJS4和Struts2.1是两种不同的技术,它们在Web开发中有着重要的角色。ExtJS是一个强大的JavaScript库,用于构建富客户端的用户界面,而Struts2则是一个Java Web框架,主要用于处理服务器端的业务逻辑和控制流程。...

    ExtJSweb 开发指南中的 简单图书管理系统 ExtJS3.0+spring+hibernate+struts

    在本项目中,我们探讨的是一个基于Web的简单图书管理系统,该系统采用了经典的Java企业级开发框架:ExtJS 3.0、Spring、Hibernate以及Struts。这些技术的结合为开发高效、可维护的Web应用提供了强大的支持。下面将...

    EXTJS3.0+Struts2的学习案例

    该项目是用EXTJS+Struts2,是实现EXTJS与后台数据交互的例子; 我从网上找的EXTJS的相关例子程序,自己在本地eclipse中创建成了完整项目,修改了代码BUG和浏览器兼容问题; 现在将完整的项目代码打包分享,对于想...

    ExtJs+3.0+最新最全中文API帮助文档

    ExtJs+3.0+最新最全中文API帮助文档+CHM版@156_25590.exe

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid

    strut2+hibernate+spring+extjs3.0+excel 动态加载grid 数据导出excel,导入excel datasource自己修改你自己的数据源,数据库中的表可见实体类创建,或者自己修改实体类

    真实项目:Hibernate3.3.2+Spring3.0+Struts2.2.3+ext3.4.0

    项目配置:Hibernate3.3.2+Spring3.0+Struts2.2.3 + ext3.4.0,真实项目实现,项目中可参考经典权限设计,通用数据录入,批量数据处理(poi),统一的JSON格式封装,灵活的组合模式设计,EXTJS面向组件编程参考......

    struts2+extjs2.1+json+hibernate+spring

    上网找资料,都是一些不全的. struts2+extjs2.1+json+hibernate+spring 自己整合的例子. 当中hibernate数据源可以配置自己的.后台输送json 前台接收.

    这是我学习Extjs3.0+asp.net所敲的示例希望有用

    ExtJS 3.0 是一个基于 JavaScript 的前端框架,它为构建富客户端应用程序提供了丰富的组件库。这个框架在Web开发领域被广泛使用,特别是在需要创建交互性强、用户体验良好的企业级应用时。它允许开发者用类似Java ...

    ExtJS3.0中文API

    绝对的ExtJS3.0中文API,本人在网上找了好久才找到的,在此奉献给大家!!解压后有30多兆!!

    extJS3.0完整包

    extJS3.0 extJS3.0 extJS3.0 extJS3.0 extJS3.0 extJS3.0 extJS3.0

    ExtJs + Struts2 + JSON 程序总结

    ExtJs + Struts2 + JSON 是一种常见的前端与后端数据交互的技术组合,常用于构建富客户端应用。这里我们详细探讨一下这三个技术组件以及它们如何协同工作。 首先,ExtJs 是一个JavaScript库,用于创建复杂的、用户...

    EXTJS4+STRUTS2+JAVA增删改查

    EXTJS4、STRUTS2和JAVA是Web开发中常用的三大技术框架,它们结合使用可以构建功能丰富的交互式用户界面和高效的企业级应用。在这个"EXTJS4+STRUTS2+JAVA增删改查"的例子中,我们将深入探讨这三个技术如何协同工作,...

    .Net+ExtJs3.0+Linq仓库管理系统源码(带数据库完整版)

    开发环境VS2008SP1+SQL2005+Ext3.0 经典开发案例,完美前后台操作,是.Net与Ext结合的最好学习,修改配置文件数据库地址后即可运行~ 包括模块:登录页 主页面 修改密码对话框 角色管理模块 用户管理 产品管理 进仓管理 ...

    Extjs+Struts2实现异步文件上传

    网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。

    EXTJS+2.1+酒店管理系统

    EXTJS+2.1+酒店管理系统EXTJS+2.1+酒店管理系统EXTJS+2.1+酒店管理系统EXTJS+2.1+酒店管理系统

    ExtJS3.0 源码分析与开发实例宝典

    ExtJS3.0 源码分析与开发实例宝典

    Extjs3.2+struts2.0+spring2.5+hibernate3.5+weblogic10+oracle10g含全包4

    Extjs3.2+struts2.0+spring2.5+hibernate3.5+weblogic10+oracle10g 第4部分

Global site tag (gtag.js) - Google Analytics