`
yonghengmoming
  • 浏览: 48248 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

jsp中Ext的“布局”和“表单提交”“回填”教程(1)

    博客分类:
  • ext
阅读更多

jspExt 布局 表单提交”“ 回填 教程

网络上有很多 ext 的很全面的教程,但是学习起来不免还是有些负担,今天我制作这个教程目的是让迷惑的朋友能更快的对 ext 有一定的了解,不至于对 ext 还是那么抽象。

 doc版教程下载:51cto ,dbank ,115

在这里大家可以先下载我写好的 Struts-Spring 模板(后面讲到与后台交互时会用到,现在先不下也没关系)

http://down.51cto.com/data/201424              51ct

http://dl.dbank.com/c0zu1qyv6f                   dbank

http://u.115.com/file/e6crn8t0                             115

 

但是这个一定要下载: ext 基础包

http://dl.dbank.com/c0zzqvugdc                   dbank

http://u.115.com/file/clioh2zq                             115

 

接着,教程开始了:

一.搭建环境:在 myeclipse 下先新建一个 WebProject 工程(导入之前下载的 Struts-Spring 项目均可)

如果你是新建一个 WebProject\ 工程,那必须先吧下载的 ext 基础包复制到工程的 WebRoot 下,并把 ext/src/locale/ext-lang-zh_CN.js 包的编码改为 UTF-8

 

二. 画界面:

1. 画界面必须都必须的第一步:在 .jsp/html 里导入包:在 </ head > 前面加入以下几句即可

<link href="<%=path%>/ext/resources/css/ext-all.css" rel="stylesheet"

                            type="text/css" />

                   <script type="text/javascript"

                            src="<%=path%>/ext/adapter/ext/ext-base.js" charset="GBK">

                  </script>

                   <script type="text/javascript" src="<%=path%>/ext/ext-all.js" charset="GBK">

                   </script>

                   <script type="text/javascript" src="<%=path%>/test0512/test1.js" charset="GBK">

                   </script><!-- 这里指明你编写的 ext .js 文件的路径,因为这个页面已经不需要在修改了 -->

                   <script type="text/javascript" src="<%=path%>/ext/src/locale/ext-lang-zh_CN.js">

                   </script>

                   <script type="text/javascript" charset="GBK">

                            var path='<%=path%>';

                   </script>

注:我这里页面使用的是 UTF-8 编码所以在以上几句引入中加入: charset="GBK"

如果你的页面使用的是 GBK 编码,可以把 charset="GBK" 去掉,并且把

<script type="text/javascript" src="<%=path%>/ext/src/locale/ext-lang-zh_CN.js">

                   </script>

修改为:

<script type="text/javascript" src="<%=path%>/ext/src/locale/ext-lang-zh_CN.js" charset="UTF-8">

                   </script>

 

2. 定义 Ext 制作的界面风格, txt 有两种风格:

a. 一个小窗口停留在页面(像 webQQ 中的标签一样)。

b. 布局编写到界面(普通的写入页面)

3. 我们先编写一个 a 风格的登入界面:

新建一个 ext .js 文件,即 javascript 文件,命名,并修改之前页面的导入语句 :

<script type="text/javascript" src="<%=path%>/test0512/test1.js" charset="GBK">

</script><!-- 这里指明你新建的 .js 文件的路径 -->

将以下内容复制进 .js 文件:

Ext.onReady(function(){                       // 自动读取内容,加以显示,否者不显示任何东西

         Ext.QuickTips.init();                  // 初始化 Ext.QuickTips ,以使得 tip 提示可用

// 可拖动窗口

         var fp = new Ext.form.FormPanel( {//new 一个 FormPanel 表单,相当于 jsp 中的 form 表单,用于提交

//                 title : ' 测试登入 ',             // 注释掉可以看到区别

                   frame : true,                     // 是否使用样式

                   layout:'border',                 // 边框布局

                   items:[{                                             // 控件,往这个 FormPanel 表单内装什么

                            region: 'center',                 // 中间控件,这个要写中间,然后才能 north east west south ,不然会出现警告或显示异常

                            layout : 'absolute',   // 绝对布局

//                          layoutConfig : {

//                                   extraCls : 'x-abs-layout-item'

//                          },

                            defaultType : 'textfield',      // 默认控件类型为 textfield, 这里不写里面就要一个一个写

                            items : [{

                                               x : 0,                              // 绝对路径 X

                                               y : 5,                              // 绝对路径 y

                                               xtype : 'label',         // 控件类型为标签

                                               text : ' 用户名 :'                 // 显示内容              提示:这里要注意的事,最后一个属性的后面不能加逗号,不然会不显示并且报错

                                     }, {

                                               x : 60,

                                               y : 0,

                                               name : 'username',   // 文本框名字,用户表单提交对应后台

                                               anchor : '100%'                 // 控件长度占总长度的百分比

                                     }, {

                                               x : 0,

                                               y : 35,

                                               xtype : 'label',

                                               text : ' 密码 '

                                     }, {

                                               x : 60,

                                               y : 30,

                                               name : 'password',

                                               anchor : '100%'

                                     }, {

                                               x : 0,

                                               y : 60,

                                               xtype : 'textarea',

                                               name : 'mess',

                                               anchor : '100% 100%'

                                     }

                            ]

                   },{

                            region:'south',                  // 边框布局的南边

                            height:30,                        // 设置南边布局的高度, center 则自动调整

                            layout:'absolute',     // 设置为绝对布局

                            items:[{

                                     x:10,

                                     y:5,

                                     xtype: 'button',        // 设置控件类型为按钮类型

                                     width:70,                        // 按钮宽度

                                     text:" 登入 "                      // 显示内容

                            }]

                   }]

         });

         // 定义窗体

         var _window = new Ext.Window( {                 // 定义一个标签窗体

                   title : " 測試登入 ",                               // 设置标题

                   layout : "fit",                                      // 布局设置为全部填充

                   width : 335,                                       // 窗体宽度

                   height : 260,                                       // 窗体高度

                   minWidth:335,                                             // 窗体最小宽度

                   minHeight:260,                                            // 窗体最小高度

                   draggable:true,                                    // 是否可以拖动

                  resizable:false,                           // 是否可以改变大小

                   maximizable:false,                      // 是否可最大化窗体

                   maximizable : false,          // 初始化时最大化显示窗口

                   closeAction : "close",                  // 关闭窗口的动作,包括以下两种:

            //close :从 DOM 删除窗口,销毁窗口及其所属组件,窗口不再可用,重新显示需要调用 show 方法。此为默认值。

            //hide :通过设置可见性隐藏窗口,窗口还可用,调用 show 方法后重新显示。

                   closable : false,                          // 是否允许关闭窗口,默认为 true

                   constrain:false,                           // 是否约束窗口只能在容器内移动,默认为 false 。窗口默认渲染到 document.body

                   constrainHeader:false,                  // 是否约束窗口头部只能在容器内移动,默认为 false

                   collapsible : true,                       // 可否最小化窗体

                   plain : true,                               // 主体背景是否透明,默认为 false

                   modal:false,                              // 是否为模式窗口,默认为 false

                   manager:false,                                     // 是否为模式窗口,默认为 false

                   buttonAlign : "center",

//                 x:50,// 窗口的 X 坐标值。设置居中后无需在设置坐标值

//      y:50,// 窗口的 Y 坐标值。

                   items : fp                                           // 内容为之前 new fp 表单,如果去掉将仅显示窗体,无内容              // 注,最后一个属性如果去掉,要将前一个的逗号去掉

         });

         _window.show();                                          // 显示窗体,否则不显示

});

之后部署项目,访问 .jsp 文件即可看到内容:窗体内一个可拖动的窗口

4.. 编写登入后的主页面,把登入后的界面分为上、左、中三块

新建一个 .jsp 页面、 .js 文件,在 .jsp 文件里导入 ext (步骤 1 )和 .js

开始编写 .js 文件:

Ext .onReady(function (){     // 必须的,自动读取内容,加以显示,否则不显示任何东西

    Ext .QuickTips.init();

    var tree = new Ext .tree.TreePanel( {

         rootVisible:false ,  // 隐藏根节点

        el : 'tree'         // 使用body 中的tree

    });

    var root = new Ext .tree.TreeNode({text:'all'});         // 定义根节点

    var node1 = new Ext .tree.TreeNode({text:' 一级子节点'});   // 定义一级子节点

    var node11 = new Ext .tree.TreeNode({text:' 二级子节点'});  // 定义二级子节点

     node1.appendChild(node11);  // 往一级子节点添加二级子节点

    root.appendChild(node1);    // 往根节点添加一级子节点

    tree.setRootNode(root);     // 往树中添加根节点

    tree.render();              // 调用树,我想是用于跟新吧

    root.expand(true , true );    // 初始化是是否展开节点

 

    //viewport 分割页面(一定要有center

    new Ext .Viewport({      //ewPort 会随着浏览器显示区域的大小自动改变,代表整个浏览器的显示区域,它直接渲染到页面的body 区域,所以在一个页面中就只能有一个ViewPort 实例

        layout: 'border',   // 边框布局

        items: [{

            region: 'north',    //border 布局中,这个不能漏掉

        //  html: '<h1 class="x-panel-header">1Page Title</h1>',

 

//          border: true,           // 是否需要边框

            margins: '0 0 0 0',     // 上右下左边距

//          title:'test',           // 标题

//          collapsible:true,       // 有上方缩小箭头

//          collapseMode: 'mini',   // 缩小按钮(与缩小箭头方式不同)

            Xtype:'tabpanel',       // 相当于load, 需要的时候才实例化(看不到区别)

            items: [{

                baseCls: 'x-plain',

                // 分页中编写html 代码

                html: 'The first tab\'s<br/> content. Others may be added dynamically'

               

                // 分页中加载jsp 页面

//              html : '<iframe src="http://www.baidu.com" width="100%" height="100%" name="top"></iframe>'

            }],

           

//          autoHeight: true, 锁定高度,如果锁定,以下三句就没有效果了

            split: true ,// 可调整,只在border 布局中有效,要配合上minHeight 一起使用

            height: 150,

            minHeight: 100

           

 

        }, {// 现有center 才能有east/west ,不然会抛出异常没有接住, 而且center 要设宽,否则会占用整个屏幕,或者报未结束

            region:'center'

           

        },{

            region:'west',

            split:true ,

            width:160,

            minWidth:100,

//          layout:fit,

            items:tree

        }]

    });

});

黏贴上以上代码后,页面就会被分成上、左、中三分。 :

教程2:http://yonghengmoming.iteye.com/admin/blogs/1044945

 

分享到:
评论

相关推荐

    JSP中使用EXT实现grid table

    1. 引入EXT库:在JSP页面中引入EXT的JavaScript和CSS资源,确保页面能够正确渲染EXT组件。 2. 创建Store:定义一个Store对象,配置数据源URL、请求方法和数据字段。 3. 定义Model:创建数据模型,定义每列的名称和...

    jsp中在提交表单时的中文处理问题

    在JSP(Java Server Pages)中处理中文字符时,特别是在用户通过表单提交数据时,可能会遇到各种编码问题。这是因为Web应用中涉及到多种编码格式,包括浏览器编码、HTTP请求编码、服务器编码等,如果这些编码不一致...

    Ext+JSP实现数据提交

    1. **前端交互**:用户在`Ext`的表单组件中填写信息,如`login.jsp`中的登录表单。`Ext`提供了表单组件,可以方便地创建输入框、按钮等元素,并且支持事件监听,如点击提交按钮时触发的事件。 2. **数据序列化**:...

    JSP+Ext实现CURD

    在IT行业中,"JSP+Ext实现CURD"是一个常见的开发任务,涉及到Web应用的后端和前端交互,用于数据的创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作。JSP(JavaServer Pages)是Java的一种动态网页技术,...

    JSP+ext+人力资源管理系统

    3. **EXT Grid**:EXT Grid是EXT中的核心组件,用于展示数据表格,支持排序、筛选、分页等功能,非常适合人力资源管理中的数据展示需求。 4. **EXT Form**:用于创建各种表单,如员工信息录入、请假申请等,与后端...

    [Jsp]防止页面表单重复提交的解决方法

    本篇文章将探讨如何有效地防止JSP页面中的表单重复提交,确保系统的稳定性和数据的准确性。 一、理解表单重复提交的问题 当用户点击提交按钮后,由于网络延迟或浏览器刷新等原因,可能导致同一份表单数据多次发送...

    JSP+EXT超强仿QQ聊天系统 WEBQQ

    在“JSP+EXT超强仿QQ聊天系统”中,EXT的组件如表格、窗口、按钮、表单等被用于构建聊天界面,提供好友列表、聊天窗口、消息发送等功能。EXT的AJAX技术则负责在后台与服务器进行异步通信,实现实时的消息传递。 ...

    简单的JSP页面布局

    它的栅格系统可以方便地实现页面布局,而其内置的控件和插件则简化了导航、表单和模态框等常见元素的创建。 7. **JavaScript和jQuery**: JavaScript和jQuery常用于实现动态交互效果,如滚动动画、下拉菜单、轮播图...

    Ext 入门 登陆验证表单提交

    本文将围绕“EXT入门:登陆验证表单提交”这一主题,深入探讨EXTJS中实现登录表单验证的基本步骤和原理。 EXTJS允许我们通过其丰富的组件库创建美观且功能丰富的表单,包括输入框、按钮等元素。在登录场景中,我们...

    jsp+servlet+from表单提交,上传头像,写入服务器

    本教程将聚焦于"jsp+servlet+from表单提交,上传头像,写入服务器"这一主题,非常适合初学者理解并掌握Web开发中的文件上传功能。 首先,我们需要了解基础概念。JSP(JavaServer Pages)是Java平台上的一个动态网页...

    一个jsp页面中多个提交按钮提交不同的页面.zip

    第一个表单的按钮提交到`submit1.jsp`,第二个表单的按钮提交到`submit2.jsp`。当用户点击其中一个按钮时,对应的表单数据将被发送到相应的后端页面进行处理。 在后端的Servlet中,我们可以根据请求参数来判断哪个...

    ext+jsp实现登入.rar

    标题“ext+jsp实现登入.rar”表明这是一个关于使用EXT JS(一种富客户端JavaScript框架)与JSP(JavaServer Pages)结合实现登录功能的项目。EXT JS通常用于构建用户界面,而JSP则处理服务器端逻辑。这个压缩包包含...

    JSP表单处理(有图解)

    JSP 表单处理是指在 JSP 编程中,通过设计网页上的表单,收集用户输入的数据信息,并对其进行处理的技术。本章节将详细介绍利用 JSP 的 Request 对象的 getParameter 方法来获取表单数据的方法,并对 JSP 的数据库...

    jsp表单和图片一起上传

    "jsp表单和图片一起上传"这个话题,就是关于如何在JSP页面中设计一个表单,允许用户输入个人信息并同时上传图片。以下将详细讲解这个过程涉及的知识点。 首先,我们需要创建一个HTML表单,该表单包含文本字段用于...

    ajax 无刷新实现表单提交

    简单的ajaxt无刷新实现表单提交的实例(myeclipse 直接导入运行) 学习点: 1;ajax无刷新表单提交 2;ajax的运行历程 最简单明了的实例,清晰的帮你弄清上述概念,运行简单,只需解压该包,然后Myeclipse中file - ...

    jsp页面js调用form表单的值的方法

    ### JSP 页面中 JS 调用 Form 表单的值的方法 在 Web 开发中,JSP(Java Server Pages)是一种广泛使用的服务器端技术,它允许开发者将动态内容嵌入到静态 HTML 页面中。本篇文章主要介绍如何在 JSP 页面中通过 ...

    JSP+EXT超强仿QQ聊天系统 WebQQ

    1. **JSP基础**:理解JSP的生命周期,以及如何在JSP中使用脚本元素、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)来简化页面开发。 2. **EXTJS组件**:掌握EXTJS的Grid、Form、Panel...

    用jsp做的几种表单

    1. 方法提交:表单的提交方式有两种,GET和POST。GET方式将数据附加到URL后面,适用于少量且不敏感的数据;POST方式将数据隐藏在HTTP请求体中,适合处理大量或敏感信息。 2. 请求处理:当用户提交表单时,服务器...

    html,jsp,java,ext页面效果集合

    在"html,jsp,java,ext页面效果集合"中,HTML可能被用来构建网页的基础框架和布局,提供了丰富的页面结构和样式。 【JSP】:JSP(JavaServer Pages)是Java平台上的动态网页技术。它允许开发者将Java代码嵌入到HTML...

Global site tag (gtag.js) - Google Analytics