WebService结合ExtJS创建资料列表查询器

2020-12-24 21:43

WebService结合ExtJS创建资料列表查询器

摘要:用ExtJS作为前台界面,以WebService作为后台服务,将JSON作为前台和后台的数据

交换格式,开发了针对服务器端文件目录的资料列表查询器。在资料列表查询器中可根据文件名进行文件浏览或下载。

关键词:WebService;ExtJS;C#;JSON;

WebGIS

1引言

ExtJS是一个非常有用的JavaScript类库,它能够在Web

浏览器中创建丰富的图形化用户界面,主要用来开发富客户端的跨浏览器AJAX应用程序。ExtJS支持的主要浏览器有

InternetExplorer、FireFox(PC,Mac)、Safari、Chrome、Opera(PC,Mac)。就笔者使用ExtJS开发的经验来看,其最大优势

就是缩小了Web应用程序和桌面应用程序之间差异。正是基于以上这些特点,ExtJS从在一定程度上提高WebGIS用户的使用友好性,使WebGIS程序风格更像是通常所见的桌面版本。

文中所述的实现程序是WebGIS中的资料列表查询器功能。在WebGIS中,常需要将与地理信息相关的非空间信息连带表现出来,将专题数据与空间数据进行关联与集成,以达到多样式、多源表现地理信息的目的。ExtJS的数据信息表达格式为JSON(JavaScriptObjectNotation),是服务端和客户瑞之间信息交换的纽带。它是基于JavaScript(StandardECMA-262

图1资料列表查询器工作原理

2服务器端的WebService程序

后台服务器端利用.NETFramework类库中的DirectoryInfo

类和FileInfo类对资源目录进行文件信息递归查询。Directory-

Info类封装关于目录的信息和操作,FileInfo类封装了关于文件

的信息和操作。查询器在服务器后台中创建WebServices,前后与后台交换数据的基础是XML+HTTP。

首先使用C#创建WebService方法SearchFilesInfo:

3rdEdition-December1999)的一个子集。JSON采用完全独

立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。在Web应用程序中,使用

[WebMethod]

publicstringSearchFilesInfo(stringfolderName,stringfile-Name){

OperationListFilemyobj=newOperationListFile();returnmyobj.SearchFiles(folderName,fileName);}

方法参数folderName为查询目录名,fileName为查询文件名(如果为空则查询目录中所有文件),方法返回XML字符串。

类OperationListFile为文件信息获取类,根据参数查询文件目录信息构造XML字符串返回客户端,客户端据此产生

JSON传递数据显得更简单方便,它能够很轻易地转化成JavaScript对象,例如下例是JSON格式的对象:vareducation=[[1,‘武汉大学’,‘外语学院’],[2,‘华中科技大学’,‘交

通学院’],[3,‘武汉理工大学’,‘计算机学院’]];。

资料列表查询器对WebGIS的专题文件数据的进行发布,发布对象可以文本、html、图片、视频等格式专题数据。在该功能中,专题数据以文件目录的方式存储于服务器中,由

JSON字符串。类OperationListFile的成员方法GetFolder为递

归程序,对资料文件目录进行递归查询。该类核心代码如下:

WebService进行目录检索,得到所需要的文件信息集,返回给

客户端。客户端解析JSON字符串,生成GridPanel表格显示。用户可选择GridPanel表格中的文件名,在资源列表查询器中显示,如图1所示。

publicclassOperationListFile{

stringretVal="";

publicstringSearchFiles(stringfolderName,stringfile-Name){

52

2010.

21


WebService结合ExtJS创建资料列表查询器.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《老师怎样和学生说话》读书笔记

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: