一种列表生成方法及设备技术

技术编号:7095068 阅读:166 留言:0更新日期:2012-04-11 18:40
本申请公开了一种列表生成的方法及设备,通过结合利用后台语言生成表示HTML形式的DOM的宏函数和通过JavaScript应用插件读写数据的方式生成列表的方式,既克服了常规方式下由JavaScript应用插件生成列表时需要执行创建DOM操作而导致系统性能下降的问题,又避免了需要展示的数据与列表架构完全耦合的情况发生,在每次展示列表时不需要刷新页面,使列表的展示效果较好。

【技术实现步骤摘要】

本申请涉及计算机
,尤其涉及一种Web应用中的列表生成方法及设备
技术介绍
在Web业务的应用过程中,执行搜索等业务后,需要通过列表形式展示搜索结果, 列表展示形式是Web业务中的常见展示方式。目前,主要有以下两种生成并展示列表的方式。第一种方式利用预先设定的后台语言生成超文本标记语言(Hyper Text MarkupLanguage, HTML)形式的文档对象模型(DOM),所述DOM中包含生成列表架构的标签,然后将需要展示的数据写入DOM中的列表架构中,并对写入数据后的DOM渲染生成页面,并将该页面向用户展示以达到通过列表形式展示数据的目的。在上述第一种方式下,需要展示的数据与DOM中的列表架构完全耦合,即页面的显示层和数据层耦合在一起,当展示的数据发生变化时,需要重新渲染并生成页面,然后将重新生成的页面刷新原页面,由于展示的数据时常会发生变化,因此,在每次数据发生变化时都要重新生成并刷新页面,使得每次重新生成页面都要占用额外的资源,且列表展示效果较差。第二种方式采用客户端脚本语言JavMcript应用插件创建D0M,然后利用异步JavMcript和 XML(ajax)获取数据,将获取的数据写入DOM生成的列表架构中,并渲染生成展示列表的页面。在上述第二种方式下,当需要通过多个列表展示大量的数据时,JavaScript应用插件需要首先创建DOM对象,然后在后台对该DOM进行渲染才能最终得到展示列表的页面, 由于在JavMcript应用插件生成列表的过程中,需要执行创建DOM对象的操作,导致占用的资源量较大。综上所述,在目前生成并展示列表的方式下,如果采用第一种方式,在每次数据发生变化时都要重新生成并刷新页面,使得每次重新生成页面都要占用额外的资源,且列表展示效果较差,如果采用第二种方式,JavaScript应用插件需要不断地创建DOM对象,导致系统性能下降,因此,迫切需要找到一种能够克服上述问题的列表生成方式。
技术实现思路
本申请的目的在于,提供一种列表生成的方法及设备,用以解决现有技术中存在每次数据发生变化时都要重新生成并刷新页面或需要不断地创建DOM对象,导致系统性能下降的问题。一种列表生成的方法,所述方法包括利用预先设定的后台语言生成宏函数,所述宏函数用于表示超文本标记语言HTML形式的文档对象模型D0M;通过客户端脚本语言JavMcript应用插件读取待展示的数据,并将读取的数据写入所述D0M,生成写入数据后的列表。一种列表生成的设备,所述设备包括DOM生成模块,用于利用预先设定的后台语言生成宏函数,所述宏函数用于表示 HTML形式的文档对象模型DOM ;JavMcript应用插件,用于读取待展示的数据,并将读取的数据写入所述D0M;列表生成模块,用于生成写入数据后的列表。本申请使用后台语言生成宏函数的方式来获得HTML形式的D0M,避免了由 JavaScript应用插件生成列表时需要执行创建DOM操作而导致系统性能下降的问题,同时,还利用JavMcript应用插件读取数据并将读取的数据写入DOM的方式最终生成列表, 克服了数据与列表架构完全耦合的问题,在每次展示列表时不需要刷新页面,使列表的展示效果较好。附图说明图1为本申请实施例一列表生成的方法步骤示意图;图2为本申请实施例二列表生成的设备结构示意图。具体实施例方式本申请的方案应用于Web环境,特别是应用于Web搜索环境,用户通过搜索引擎搜索出需要的数据后,搜索引擎将该数据存储在后台,然后利用本申请提供的列表生成方法以及列表生成设备生成包含存储在后台中的数据的列表,并将该列表以页面形式向用户展示 ο为了实现本申请目的,本申请实施例提出的生成列表的方法以及设备是利用预先设定的后台语言生成的宏函数来表示HTML形式的D0M,并通过Jav必cript应用插件读取待展示的数据后,将该数据写入所述DOM以生成列表。在本申请实施例的方式下,由于利用预先设定的后台语言生成的宏函数直接绘制HTML形式D0M,在后台直接渲染绘制出的D0M,避免了采用JavMcript应用插件创建列表时需要先执行创建DOM对象的操作导致该操作占用的资源量较大的问题;同时,在本申请实施例的方式下,通过JavMcript应用插件读取待展示的数据,由于JavMcript应用插件分别读取列表中各显示部分中待展示的数据,在向DOM对象写入数据时也是分别将各显示部分中待展示的数据写入对应的显示部分中,因此,实现了页面的显示层和数据层分离,避免了需要展示的数据与DOM中的列表架构完全耦合的情况发生,在每次列表中有需要更新的数据时,只需要确定该更新的数据所在的显示部分,然后将该更新的数据写入其所在的显示部分即可,不需要刷新页面,使列表的展示效果较好。下面结合说明书附图对本申请各实施例进行详细描述。实施例一如图1所示,为本申请实施例一中列表生成的方法步骤示意图,所述方法包括以下步骤步骤101 利用预先设定的后台语言生成宏函数,所述宏函数用于表示HTML形式的 DOM。本申请各实施例中涉及的后台语言可以是任意能够用于生成表示HTML形式的 DOM宏函数的计算机语言,如Velocit模板语言(基于java的模板语言)、Java语言等。本步骤中生成的宏函数表示的DOM中包含生成列表架构的标签,如表示列表块状结构的Div标签,表示列表表格结构的Table标签等。在本步骤中生成的DOM相当于搭建了一个HTML形式的列表架构,在通过宏函数表示DOM时,可以在该宏函数中设置列表头、列表主体、列表行、列表表格等参数。步骤102 为待写入所述DOM中列表架构各部分的数据分别设置展示样式。在本步骤中,列表架构的各部分可以是指列表头部分和列表主体部分,为待写入列表头的数据设置展示样式后,后续写入的列表头的数据将按照该展示样式展示。列表主体部分的展示与列表头部分的展示方式相同。本步骤中所述的展示样式包括但不限于该列表架构部分的显示背景色、数据展示的字体、段落、颜色等。本步骤可以是实现本申请目的的优选步骤,本申请的方案中也可以不分别设置展示样式,按照默认的展示样式展示写入数据后的列表。步骤103:为待写入DOM中的数据进行的操作设置至少一个应用编程接口 (Application Program Interface,API)。在步骤102的优选步骤中,是以列表架构为单位,分别设置展示样式的,为了给用户提供更加多元化、细粒度的列表生成方式,在步骤103的优选步骤中,通过定义一个列表的实体类,来控制列表的行为和数据。所述对数据进行的操作包括但不限于翻页、排序、选择到指定行、从后往前显示等,为每一个操作设置一个API,通过调用API的方式以满足操作需要。步骤104 通过JavMcript应用插件读取待展示的数据。在本步骤中,待展示的数据已保存在后台中,通过Jav必cript应用插件读取数据。JavaScript应用插件在读取数据时,需要确定读取的数据是列表中哪一显示部分中待展示的数据,以便于在下一步向DOM写入数据时将数据写入其所在的显示部分中。步骤105 JavaScript应用插件将读取的数据写入所述D0M,生成写入数据后的列表。在本步骤中,JavMcript应用插件根据上一步骤中确定的数据所本文档来自技高网
...

【技术保护点】
M,生成写入数据后的列表。1.一种列表生成的方法,其特征在于,所述方法包括:利用预先设定的后台语言生成宏函数,所述宏函数用于表示超文本标记语言HTML形式的文档对象模型DOM;通过客户端脚本语言JavaScript应用插件读取待展示的数据,并将读取的数据写入所述DO

【技术特征摘要】

【专利技术属性】
技术研发人员:盛鼎
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1