`
wcleye
  • 浏览: 10124 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

EXT的HTML封装

阅读更多

刚看到有篇文章:http://www.iteye.com/topic/409416

里面提到用JSP标签封装EXT,我觉得完全没这必要,这反而还限制了EXT。

在公司也对EXT做过封装 (基本思路:大的方向不变,EXT本身就提供了对DIV的渲染功能,用DIV标签写页面,最后用EXT进行渲染),封装后所有的容器、面板全针对DIV,可以说会写DIV,你就能做出EXT的页面。

页面源码:

列表:

<body>
	<div region="north" border="false" style="margin:8px 0 0 5px;" height="60">
		<div xtype="pkupaneltbar" title="自行招用保安员的单位信息查询">
			<div text="->"></div>
			<div text="查询" onExtClick="search()"></div>
		</div>
		<form method="post" id="searchForm">
			<table width="80%" cellpadding="0" cellspacing="0" style="font-size: 10pt; vertical-align: middle;">
				<tr>
					<td class="label" height="30" labelFor="S" width="100">单位名称</td>
					<td width="300"><input id='S' class="Edit" operation='like' type='text' fieldname='s.S' /></td>
					<td width="120" class="label" labelFor="P">单位负责人</td>
					<td><input id='P' class="Edit" type='text' operation='like' fieldname='s.P' /></td>
				</tr>
			</table>
		</form>
	</div>
	<div id="pkuGrid" region="center" border="false" xtype="pkugridpanel"
				title="列表" pagingBar="true" pageSize="15" onExtRowdblclick="doRowdbClick()">
		<div xtype="pkupaneltbar">
			<div text="->"></div>
			<div text="添加" onExtClick="doAdd()"></div>
			<div text="-"></div>
			<div text="修改" onExtClick="doChange()"></div>
			<div text="-"></div>
			<div text="注销" onExtClick="doDel()"></div>
		</div>
		<div id="gridstore" xtype="pkustore" url="ajax?method=getAutoCompanyList"
					autoLoad="true">
		<div xtype="pkustorereader" recordid="ssjId" record="SS_SSJ"
						totalRecords="result">
			<div name="ssjId" mapping="SSJID"></div>
			<div name="ssjName" mapping="SSJNAME"></div>
			<div name="pName" mapping="PNAME"></div>
			<div name="ssjUnitName" mapping="SSJUNITNAME"></div>
			<div name="prinName" mapping="PRINNAME"></div>
			<div name="prinTel" mapping="PRINTEL"></div>
			<div name="munitName" mapping="MUNITNAME"></div>
		</div>
	</div>
	<div xtype="pkucm">
		<div type="checkbox"></div>
		<div header="单位编号" width="1" sortable="true" dataIndex="ssjId"></div>
		<div header="单位名称" width="4" sortable="true" dataIndex="ssjName"></div>
		<div header="上级单位" width="2" sortable="true" dataIndex="pName"></div>
		<div header="所属单位" width="4" sortable="true" dataIndex="ssjUnitName"></div>
		<div header="公司负责人" width="2" sortable="true" dataIndex="prinName"></div>
		<div header="联系电话" width="2" sortable="true" dataIndex="prinTel"></div>
		<div header="管辖单位" width="4" sortable="true" dataIndex="munitName"></div>
	</div>
	</div>
</body>

 另附效果图。

注:发这帖子只是给大家提供一种新封装的方法。

 

  • 大小: 15.1 KB
分享到:
评论
6 楼 equalto 2009-09-28  
html自动转换为Ext,最好慎用,会有时间延迟,闪的难受。
特别对于较大的页面,本身页面就需要很多时间,然后又Ext转换时候产生的大量dom操作,会带来很不爽的视觉效果。

我们当初为了省事,List显示使用了自动转换table,的确对很多刚入手的人方便许多,但是后来数据量大的时候,真的无法忍受。
但是教大家写个简单的ExtGrid,其实可能只要2小时就够了——js稍微接触过的人。

该面对的还是要面对,对于小公司里面的每个人来说,都尽量让大家学习提高,而不是把希望压在一个人身上。
5 楼 ruanwxh 2009-09-22  
最近在学EXTJS,也在找方法封装EXTJS。
楼主能不能发下<div xtype=""..>xtype里的实现代码?
4 楼 kimmking 2009-06-26  
这个思路不错。

借了extjs的形。
我还是我,extjs的弊端没了,优势也没有了。跟extjs关系不大。

3 楼 wcleye 2009-06-26  
damoqiongqiu 写道
Rooock 写道
我不大明白.
比如pkuGrid. LZ你的意思在JS中用ext渲染到div id="pkuGrid"中.
其他的div同理?

这样做好像是完全放弃ext的布局功能.
而是交给程序员自己去做.用div实现??

就是利用Ext的CSS,手写标签去模拟面板,这样做在渲染方面的效率提升比较多。
但是手写太痛苦了也


这已经在我们的项目中使用了,新人进来就用这套框架,感觉还是很容易上手的,而且页面中基本上看不到JS代码(除了添加的事件处理),至于前面提到的放弃EXT的布局,这点我不这样认为,虽然做了封装,但是还是延续了EXT的布局方式,不同在于把EXT的配制项做为DIV的属性注入。
2 楼 damoqiongqiu 2009-06-26  
Rooock 写道
我不大明白.
比如pkuGrid. LZ你的意思在JS中用ext渲染到div id="pkuGrid"中.
其他的div同理?

这样做好像是完全放弃ext的布局功能.
而是交给程序员自己去做.用div实现??

就是利用Ext的CSS,手写标签去模拟面板,这样做在渲染方面的效率提升比较多。
但是手写太痛苦了也
1 楼 Rooock 2009-06-26  
我不大明白.
比如pkuGrid. LZ你的意思在JS中用ext渲染到div id="pkuGrid"中.
其他的div同理?

这样做好像是完全放弃ext的布局功能.
而是交给程序员自己去做.用div实现??

相关推荐

    extgrid 封装

    本文将详细讲解关于"ext grid 封装"的知识点,以及如何通过`grid.js`来实现UI的便捷调用。 1. ExtJS Grid组件: - Grid组件是ExtJS的核心组件之一,用于显示表格数据,支持排序、分页、筛选等多种功能。 - 它由一...

    封装一个Ext消息提示框,显示几秒后自动消失

    封装 Ext 消息提示框,显示几秒后自动消失 本资源是关于封装一个 Ext 消息提示框,显示几秒后自动消失的知识点集合。该资源主要涵盖了 CSS 和 JavaScript 代码,旨在实现一个可以自动消失的消息提示框。 1. CSS ...

    Ext的Tab标签封装

    "Ext的Tab标签封装"指的是使用ExtJS库创建的TabPanel组件,它允许用户在一个区域内通过点击不同的标签来展示不同的内容面板。 在描述中提到的"兼容Firefox 和 IE浏览器",这意味着该封装方法考虑到了跨浏览器的兼容...

    Ext框架简介-Ext框架简介

    要搭建 EXT 运行环境及开发环境,需要把 Ext 的开发包直接复制到 WEB 工程的目录下,然后新建 HTML 文件并在页面中引入 ExtJS 的样式及 ExtJS 库文件。样式文件为 resources/css/ext-all.css,库文件主要包含两个:...

    Ext.get与Ext.fly的区别

    - **内存占用**:由于`Ext.get`会将DOM元素封装成`Ext.Element`对象并缓存起来,因此可能会导致内存占用增加,尤其是在处理大量元素时。 - **资源消耗**:如果频繁使用`Ext.get`来获取相同的元素,则每次调用都会...

    tapestry4.02中封装ext的TabPanel组件

    在本文中,我们将深入探讨 Tapestry 4.02 框架中封装的 Ext TabPanel 组件。Tapestry 是一个开源的Java Web 应用程序开发框架,它允许开发者使用简单的Java类和模板语言来创建动态、交互式的Web应用。而 Ext 是一个...

    国内首个基于Ext开发开源企业级框架Efsform

    这个UI 层封装extjs 框架,Ext 提供了好的 页面布局方式、功能强大的组件、优质的页面风格,但是如果直接使用Ext又是 较为复杂的,不仅要从头学习EXT 框架,而且Ext 是通过js 函数创建页面的, 这就不得不为每个页面...

    extapi

    EventObject是事件对象的封装,包含了事件的相关信息。CompositeElement和CompositeElementLite是元素集合管理器,可以同时操作多个DOM元素,提高了代码的效率。 "EXT核心API详解(六)-Ext.Fx.txt"是关于EXT的特效...

    Ext用户UI界面优秀框架

    在描述中提到的“对javascript强封装大”,意味着Ext JS 将JavaScript的功能进行了高度抽象和模块化,封装了许多复杂的底层操作,使得开发者无需关心底层细节,只需关注业务逻辑和界面设计。这大大降低了开发难度,...

    ext几个实例

    【EXTJS】Ext.AJAX与FormPanel在登录案例中的应用 EXTJS是一个强大的JavaScript库,主要用于构建富客户端Web应用程序。...EXTJS的封装使得异步请求变得更简单,同时提供了强大的UI组件来增强用户体验。

    efs.rar_efs_efs java_ext 框架_html

    这个UI 层封装extjs 框架,Ext 提供了好的 页面布局方式、功能强大的组件、优质的页面风格,但是如果直接使用Ext又是 较为复杂的,不仅要从头学习EXT 框架,而且Ext 是通过js 函数创建页面的, 这就不得不为每个...

    ext打印、jquery打印、ext导出excel

    `ext_printerFriendly.rar`可能包含了EXT框架的打印扩展或示例代码,`js.rar`可能是包含jQuery打印插件的资源,而`temp.rar`则可能封装了EXT导出Excel的相关逻辑或示例。通过学习和应用这些技术,开发者可以构建更加...

    ext-base.js

    4. **DOM操作**:EXT对DOM操作进行了封装,提供了便利的方法来查找、修改和操作DOM元素,使得开发者不必直接操作底层的JavaScript DOM API。 5. **动画效果**:EXT提供了一系列的动画效果,"ext-base.js"中包含了...

    ext js 中文手册

    模板(Templates)是Ext JS用来处理HTML内容的机制,它允许开发者在JavaScript中编写HTML代码,并在运行时动态地将数据绑定到模板中,生成最终的HTML内容输出。 表单组件是用户与Web应用交互的重要接口,Ext JS提供...

    ext-3.2.1 demo项目

    4. **jsp**:JavaServer Pages文件,可能包含了EXT组件的HTML模板和DWR的配置。 5. **dwr**:DWR的配置文件和JavaScript接口。 6. **images**:可能包含项目中使用的图片资源。 7. **controllers**:Spring MVC的...

    ext + json HTML编辑器中上传图片

    EXT也封装了这部分功能,通过`Ext.Ajax`对象可以实现POST请求,将文件数据发送到服务器。 3. **JSON数据交互**:在上传过程中,可能需要通过JSON传递一些额外的参数,例如用户ID、权限信息等。这些数据可以通过JSON...

    ext可视化编辑工具

    EXT可视化编辑工具则进一步将这个框架的强大功能封装为直观易用的图形化编辑环境。 在这款工具中,开发者可以通过拖放操作添加和配置EXT组件,如图表、表格和窗口等,极大地简化了UI设计过程。同时,编辑器通常会...

    ext中播放声音

    在EXTJS中,可以创建一个自定义组件来封装HTML5的`&lt;audio&gt;`元素。首先,定义一个类,继承自EXTJS的`Ext.container.Container`,并在`renderTpl`配置项中添加`&lt;audio&gt;`标签。然后,为`&lt;audio&gt;`元素添加`src`属性,...

    Ext2.2 中文手册

    - **Element 类**:Ext 中的 Element 类提供了对 DOM 元素的封装,使得开发者可以更容易地操作 DOM。 - **获取 DOM 节点**:通过 `Ext.get` 或 `Ext.select` 方法可以轻松获取页面中的 DOM 元素。 - **响应事件**...

Global site tag (gtag.js) - Google Analytics