`
忧里修斯
  • 浏览: 436185 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

模板XTemplate实例

阅读更多
/**
 * 根据输入的小说目录页的URL下载一本小说
 */
Ext.onReady(function() {

			var Novel = Ext.data.Record.create([ {
				name:'imgUrl',mapping : 'NImgUrl'
			}, {
				name:'title',mapping : 'NTitle'
			}, {
				name:'author',mapping : 'NAuthor'
			}, {
				name:'type',mapping : 'NType'
			}, {
				name:'totalWords',mapping : 'NTotalWords'
			}, {
				name:'desc',mapping : 'NDesc'
			}]);

			/**
			 * 数据源
			 */
			var dataSource = new Ext.data.Store( {

				proxy : new Ext.data.HttpProxy( {
					url : 'http://localhost:8080/DXCollector/manager/novel/novelAnalysis.jsp?partListUrl=http://www.readnovel.com/partlist/69764/'
				}),
				reader : new Ext.data.JsonReader( {
					id : 'id',
					root : 'novelInfo'
				}, Novel)
			});

			/**
			 * 显示模板
			 */
			var resultTpl = new Ext.XTemplate('<tpl for=".">',
					'<div  class="viewTable"><table width="100%" height="100%" border="1">', '<tr>',
					'<td rowspan="3"><img src="{imgUrl}"></td>',
					'<td>书名:</td>', '<td>{title}</td>', '<td>作者:</td>',
					'<td>{author}</td>', '</tr>', '<tr>', '<td>总字数:</td>',
					'<td>{totalWords}</td>', '<td>类型:</td>',
					'<td>{type}</td>', '</tr>', '<tr>',
					'<td colspan="3" rowspan="2"><strong>书籍简介</strong>:</td>',
					'<td>{desc}</td>', '</tr>', '</table></div>', '</tpl>');

			// 下载按钮
			var downloadButton = new Ext.Button( {
				text : '下载',
				handler : download,
				iconCls : 'download'
			});

			var mainPanel = new Ext.Panel( {
				title : '单本下载',
				autoScroll : true,

				items : new Ext.DataView( {
					tpl : resultTpl,
					store : dataSource,
					itemSelector:'div.viewTable',
					loadingText:'正在分析中...'
				}),

				tbar : ['请输入小说目录页URL: ', ' ', new Ext.ux.form.SearchField( {
					store : dataSource,
					width : 320
				}), '', downloadButton]
			});

			function download() {
				Ext.Msg.alert('提示', '下载');
			}
			Ext.main.addItems([mainPanel]);
			dataSource.load({params:{}});
		});



注意事项:
使用 ”<tpl>” 标签和 ”for” 操作符,你可以把作用域切换到 ”for” 所指向的对象,然后访问这个对象的成员来组装模板。如果 ”for” 循环中的变量是一个数组,它将被自动填充,对于数组中的每个元素,重复 ”<tpl>” 标签中的模板 ( 定义 ) 块 ( 来自动填充 ) 。(译者注:这句的意思是,如果 for 循环里面指定的对象是个数组,就会自动解析这个数组,然后使用数组中的每个元素来填充模板。)
分享到:
评论
1 楼 sihai0068 2010-09-16  
非常感谢 这功能貌似不常用 var resultTpl = new Ext.XTemplate('<tpl ></tpl>'不加貌似改不了样式 

相关推荐

    ext xtemplate 实例 利用模板 表格合并行 表格分组

    利用模板(xtemplate)表格合并行 简单实现表格分组,单元格行的合并。

    一个简单的Ext.XTemplate的实例代码

    接下来,我们创建了一个新的Ext.XTemplate实例。这个模板定义了如何显示省份和城市的数据。`&lt;tpl for="pros"&gt;`是一个模板循环,用于遍历`pros`数组中的每个省份。在省份内部,我们有另一个`&lt;tpl for="children"&gt;`...

    extjsExtjs学习笔记——多个图片XTemplate排版居中,自动缩放处理

    XTemplate是基于模板字符串生成HTML的工具,它可以接收数据对象并根据模板规则生成对应的HTML片段。在处理图片时,我们可以将图片的URL、宽度和高度等信息作为数据传入模板,然后利用模板语法进行渲染。 要实现图片...

    xtemplate node.js 的使用方法实例解析

    本文通过实例详细介绍了xtemplate在Node.js中的安装和使用方法。 在开始使用xtemplate之前,首先要确保已经安装了Node.js环境。接着,使用npm包管理器来安装xtemplate。在命令行中输入以下命令即可完成安装: ``` ...

    ExtJS模板使用说明(含代码示例).zip

    1. 使用String构造:可以直接创建一个包含变量占位符的字符串,然后通过`new Ext.Template(str)`来实例化模板。 2. 使用配置对象:可以传递一个包含`html`属性的对象给`Ext.Template`构造函数。 3. 使用XTemplate:...

    ext 实例 示例 实例 示例

    在给定的标题和描述中,“EXT 实例 示例 实例 示例”暗示我们将探讨EXTJS 的具体实例和用法。 首先,让我们深入了解一下EXTJS 中的树形菜单(Tree Menu)。树形菜单是EXTJS 提供的一种组件,它以层级结构展示数据,...

    Ext常用扩展插件实例收集

    XTemplate 是 ExtJS 的一种模板引擎,用于渲染数据到UI组件上,特别是对于数据驱动的列表和表格。它支持复杂的逻辑和条件语句,使得开发者能够灵活地控制数据的展示方式,同时提高性能。 6. **LovCombo**: ...

    extjs实例说明详解

    JSON Format用于处理JSON数据,DelayedTask和TaskRunner用于定时任务,TextMetrics用于计算文本的尺寸,XTemplate则是一种强大的模板引擎,方便数据和视图的绑定。 总的来说,这个资源涵盖了ExtJS的大部分基础API,...

    php自己写模版引擎.docx

    在 `index.php` 文件中,我们实例化模板类 `Templates`,分配变量,然后调用 `display` 方法来显示模板文件。`template.inc.php` 配置文件设置了编码、目录路径,并定义了是否开启缓存。 核心的模板类 `Templates....

    ****************************

    模板模型章节,作者详细讲解了 Ext JS 的模板系统,包括正则表达式的基础知识,模板的构建、应用和编译,以及如何使用 Xtemplate 扩展模板功能。通过通信录的实现示例,读者可以掌握如何利用模板创建动态视图,实现...

    Extjs源码分析与开发实例宝典

    - **模板引擎**:使用ExtJS的XTemplate,可以轻松创建复杂的HTML输出。 - **数据绑定**:通过数据绑定机制,实现数据与视图的自动同步更新。 - **主题与样式**:提供了多种预设主题,同时支持自定义主题,满足不同...

    extjs自定义控件

    - **模板与渲染**:自定义控件的外观通常通过HTML模板(XTemplate)来构建,而渲染过程则由`renderTpl`和`renderData`属性控制。 2. **创建自定义控件的步骤** - **定义类**:使用`Ext.extend()`方法创建新的类,...

    ExtJs入门实例

    - `XTemplate` 是一种用于数据绑定的模板引擎。 - 可以将数据动态渲染到HTML文档中。 - **使用示例**: ```javascript var template = new Ext.XTemplate( '&lt;div&gt;', '&lt;span class="name"&gt;{name}&lt;/span&gt;', '...

    GridPanel的小难点 第一节 每条数据后面跟随几个操作按钮

    5. **实现逻辑**:在JavaScript代码(如agrid.js或agrid2.js)中,我们需要创建GridPanel实例,配置列模型,设置模板,并处理按钮事件。如果使用了MVVM模式,那么这些逻辑可能会在ViewModel中。 6. **HTML结构**:...

    ExtJS Web应用程序开发指南

    1. **XTemplate**:这是ExtJS中最常用的模板类,它允许用JavaScript语法混合HTML,可以动态渲染数据到DOM。 2. **模板语法**:使用`{}`包围变量名,例如`&lt;span&gt;{name}&lt;/span&gt;`,模板会将数据对象的`name`属性值插入...

    EXT-js-中文手册

    - **模板引擎**:XTemplate是EXT中用于生成动态内容的模板引擎,支持复杂的表达式和模板语法。 - **模板语言**:介绍了XTemplate的语言特性,如条件语句、循环等。 - **示例应用**:通过具体示例演示了如何使用...

Global site tag (gtag.js) - Google Analytics