`

Extjs4的MVC登录实现(整合struts2)(二)

阅读更多

本文转载自:http://www.javake.com.cn/frontend/js/20130922/6784.html作者:eric

做了下修改,刚才发的时候没有建立store,model

在上一个版本的基础上添加了一点功能,点击左边的Button按钮可以在右边添加新的tab,在tab加了页面,和grid,复习了一下以前学的东西

看代码:

index.html,app.js没有修改,这应该就是MVC的优点吧,这里只贴出修改的代码:

在左边的导航栏添加了两个按钮:

Accordion.js:

Ext.define('HT.view.Accordion',{    
    extend:'Ext.panel.Panel',    
    title:'系统设置',    
    alias:'widget.accordion',    
    collapsible: true,    
    split:true,    
    width:200,    
    layout:'accordion',    
    region:'west',    
    layoutConfig: {              
        titleCollapse: true,    //设置为点击整个标题栏都可以收缩         
        animate: true,  //开启默认动画效果             
        activeOnTop: true   //展开的面板总是在最顶层            
    },    
    items:[    
        {      
            title:'首页设置',    
            items:[    
                {    
                    xtype:'button',    
                    width:150,    
                    id:'homePageSet',    
                    text:'首页管理'    
                },{    
                    xtype:'button',    
                    width:150,    
                    id:'adminSet',    
                    text:'管理员管理'    
                }    
            ]    
        },{      
            title:'导航栏设置',      
            html:'导航栏'      
        },{      
            title:'文章设置',      
            html:'文章设置'      
        },{    
            title:'留言设置',    
            html:'留言'    
        }    
    ]    
});   

 建立model层的 User.js:

Ext.define('HT.model.User', {    
        //不要忘了继承    
        extend:'Ext.data.Model',    
        fields:[{name:'id',mapping:'id'},    
                {name:'name',mapping:'name'},    
                {name:'sex',mapping:'sex'},    
                {name:'age',mapping:'age'},    
                {name:'birthdate',mapping:'birthdate',type:'date',dataFormat:'Y-m-d'}]    
    })    

 建立store层的Users.js:

Ext.define('HT.store.Users',{    
    //不要忘了继承    
    extend:'Ext.data.Store',    
    //记得设置model    
    model:'HT.model.User',    
    //自动加载设为true    
    autoLoad:true,    
    proxy: {    
        type: 'ajax',    
        url : 'users',    
        reader: {    
            //数据格式为json    
            type: 'json',    
            root: 'users'    
        }    
    }    
});

 然后在view中添加了一个Grid.js:

Ext.define('HT.view.Grid',{    
    extend:'Ext.grid.Panel',    
    title : '人员列表',    
        
    initComponent:function(){    
        Ext.apply(this,{    
            //width:400,    
            //height:170,    
            layout:'fit',    
            //frame:true,    
            store:'Users',    
            columns: [//配置表格列    
                new Ext.grid.RowNumberer(),//表格行号组件    
                {header: "编号", width: 80, dataIndex: 'id', sortable: true},    
                {header: "姓名", width: 80, dataIndex: 'name', sortable: true},    
                {header: "年龄", width: 80, dataIndex: 'age', sortable: true},    
                {header: "性别", width: 80, dataIndex: 'sex', sortable: true},    
                {header: "生日", width: 80, dataIndex: 'birthdate', sortable: true}    
            ]    
        }),    
        this.callParent(arguments);    
    }    
});   

 在“首页设置”中的tab中引入了一个普通的页面:

<!DOCTYPE html>    
<html>    
  <head>    
    <title>setHomePage.html</title>    
        
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    
    <meta http-equiv="description" content="this is my page">    
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">    
        
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->    
    
  </head>    
      
  <body>    
    <form action="" method="get">    
                <table>    
                    <tr>    
                        <td>标题</td>    
                        <td><input type="text" name="title" ></td>    
                    </tr>    
                    <tr>    
                        <td>域名</td>    
                        <td><input type="text" name="yuming" ></td>    
                    </tr>    
                    <tr>    
                        <td>版权信息</td>    
                        <td><input type="text" name="copyright" ></td>    
                    </tr>    
                    <tr>    
                        <td>简介</td>    
                        <td><input type="text" name="description" ></td>    
                    </tr>    
                    <tr>    
                        <td>    
                            <input type="submit"" >    
                        </td>    
                        <td></td>    
                    </tr>    
                </table>    
            </form>    
  </body>    
</html>   

 效果图:

分享到:
评论

相关推荐

    Extjs4文件上传,后台struts2

    在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...

    ExtJS与Struts2的整合工程实例

    ExtJS是一个JavaScript库,提供了丰富的用户界面组件和强大的数据处理能力,而Struts2则是一个基于MVC设计模式的Java Web框架,用于简化应用的开发流程。将这两者整合可以创建功能强大且用户体验优秀的Web应用程序。...

    Struts2与extjs整合例子

    标题“Struts2与extjs整合例子”表明我们将探讨如何将这两个技术结合在一起,以实现后端与前端的高效协作。在实际项目中,这样的整合可以利用Struts2的强大处理能力和ExtJS的出色用户界面,创建出功能丰富且用户体验...

    struts2+extjs+json整合实例

    整合Struts2、ExtJS和JSON的步骤通常包括以下几个部分: 1. **设置Struts2的JSON插件**:在Struts2项目中,需要添加struts2-json-plugin库,然后在struts.xml配置文件中启用JSON结果类型。 2. **创建Action类**:...

    Extjs整合struts2.doc

    在整合 Struts2 时,你需要确保添加了必要的依赖库,例如 `struts2-json-plugin-2.1.8.jar`,这个插件允许 Struts2 将结果直接转换为 JSON 格式,便于与 ExtJS 通信。 配置方面,你需在 `web.xml` 文件中设置 ...

    ssh整合实现登录的例子,包含源代码,用extjs做的登录界面

    在这个例子中,我们将深入探讨如何利用SSH整合来实现一个登录功能,并且这个功能的前端界面是通过ExtJS库创建的。 1. **Spring框架**:Spring是核心的依赖注入(DI)和面向切面编程(AOP)框架,它管理着应用中的...

    Hibernate+Spring+Struts2+ExtJS整合开发实例

    "Hibernate+Spring+Struts2+ExtJS整合开发实例"就是一个典型的Java Web应用程序开发案例,它将四个关键组件结合在一起,以实现高效、模块化的后端和前端功能。 **Hibernate** 是一个流行的Java对象关系映射(ORM)...

    spring3+ibaits3+struts2.18+Extjs3整合增删查改

    Struts2是一个基于MVC(模型-视图-控制器)设计模式的Web应用框架,用于构建动态、交互式的Web应用。Struts2.18是该框架的一个稳定版本,提供了一系列增强的特性,如拦截器、插件体系、强大的结果类型和模板引擎。在...

    struts2和ExtJs整合实例

    整合Struts2和ExtJS的主要目的是利用Struts2的强大后端处理能力,结合ExtJS的前端交互性和用户体验,打造高性能、易维护的Web应用。下面将详细介绍整合过程中的一些关键知识点: 1. **Struts2与ExtJS的通信方式**:...

    ext整合struts2

    **EXTJS整合Struts2的步骤:** 1. **引入依赖**:在项目中引入EXTJS的JavaScript库,以及Struts2的Struts2-EXTJS插件。 2. **配置Struts2**:在struts.xml中配置EXTJS相关的Action,指定返回JSON格式的结果,以便...

    漂亮的Extjs+struts2实现联动下拉

    在本项目中,"漂亮的Extjs+struts2实现联动下拉"是一个集成这两个技术的实例,实现了在Web应用中动态更新下拉框选项的功能。 联动下拉框是一种常见的交互设计,常见于需要根据前一个选择项动态加载后一个选择项的...

    extjs与struts的整合代码

    4. **Struts2结果类型配置:** 配置Struts2的结果类型,例如`json`,使得Action可以直接返回JSON数据,方便ExtJS解析。 5. **Ajax通信:** ExtJS的Ajax请求通常是异步的,通过`Ext.Ajax.request`方法发起,参数包括...

    struts2+extjs整合包

    在整合Struts2和ExtJS时,通常会通过Ajax通信来实现实时的用户交互。Struts2的JSON插件可以方便地将Action的结果转换为JSON格式,供ExtJS的组件消费。同时,ExtJS可以通过Store和Proxy组件来管理和加载由Struts2返回...

    extjs4springstruts2ibatis

    ExtJS4、Spring、Struts2和iBatis是Java Web开发中常用的技术栈,它们在构建企业级应用中发挥着各自的关键作用。下面将详细解释这些技术以及它们如何协同工作。 1. ExtJS4:这是一款强大的JavaScript库,用于构建富...

    Extjs4.0+struts2简单MVC 实例demo

    标题 "Extjs4.0+struts2简单MVC 实例demo" 提供了一个关于使用ExtJS 4.0框架与Struts2 MVC框架结合开发应用程序的实际示例。这是一个常见的前端与后端集成方案,旨在展示如何在Java Web项目中有效地处理用户界面和...

    整合--Struts2为extjs提供server数据

    总的来说,整合Struts2与Extjs是一种有效的实现前后端数据交换的方法,能够提高开发效率,优化代码结构,同时也保持了应用的可扩展性和灵活性。在实际项目中,根据具体需求选择合适的技术栈进行整合是至关重要的。

    extjs 跟 struts+json

    文章可能通过一个实际项目或示例,详细解释了如何将ExtJS的Grid Panel与Struts 2通过JSON进行数据交互,帮助读者理解这两种技术的整合过程。学习这些内容有助于提升Web应用的用户体验,实现数据的实时更新和交互。

    ExtJS4+strtus2文件上传实例源码

    通过研究这些源文件,你可以详细了解如何整合ExtJS4和Struts2以实现文件上传功能。 总之,结合ExtJS4的前端交互能力和Struts2的后端处理能力,你可以构建出一个高效且用户体验良好的文件上传系统。通过理解这两个...

    ssh+extjs4整合开发

    总结来说,"ssh+extjs4整合开发"涉及到的技术栈是Java后端开发的强大组合,结合了Spring的灵活性、Struts2的MVC架构以及Hibernate的对象关系映射,再加上EXTJS4的富客户端能力。这种整合使得开发者能够构建出高效、...

Global site tag (gtag.js) - Google Analytics