《ArcGIS Server Java ADF 案例教程》
文章平均质量分 58
牛魔王中王
牛魔王这个名字竟然被用了
展开
-
ArcGIS Server Java ADF 案例教程 5
ADF的物理组成现在,ADF对你来说或许就像远处的一个美女,氤氲中你依稀可以看到她的体态轮廓;当然,你同时也迫切希望能更深一步地了解她。现在我们要做的,就是走近她,慢慢揭开她的面纱。我现在感觉自己有点像一个导演——当然,我可不想是拍《无极》那种烂片的水平——面对一个“她”,目前正在设计一个镜头,目的是怎样可以比较艺术化地表现出她的一切。这里,我决定从她的肉体——ADF的物理组成入手,先带你去一窥它的全貌。现在,让我们首先新建一个ADF的模板工程,这个模板工程是ESRI使用ADF开发的一个简单的Web应用供你原创 2009-03-26 17:26:00 · 2092 阅读 · 4 评论 -
ArcGIS Server Java ADF 案例教程 41
第一章 扩展ArcGIS Server 这一章其实和ADF已经没有太大关系了,在ArcGIS的帮助里也是在ArcGIS Server开发章节里。考虑到使用ADF开发的一般对功能要求比较多一点,所以对于怎么扩展ArcGIS Server可能比较关心,反正ADF差不多也讲完了,这一章就算是一个结束吧。 从9.3.1开始,ArcGIS Server提供了Java开发者更多的可扩展性。通过扩展ArcGIS Server可以使某些自定义的功能更加完善和强大、使你的某些工作可以更加模块化并和ArcGIS Server很原创 2009-09-04 14:28:00 · 1565 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 v9.3.1 PDF 版本
地址:http://docs.google.com/fileview?id=0B8EMyhKZm53ZNmE3OTUzZjItODljNi00NDM3LWI2MGQtZTE1ZWNjMWRlMGY4&hl=zh_CN原创 2009-11-02 16:45:00 · 2581 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 9
ADF中的服务ADF的后台都是各种不同的ArcGIS服务,一个ADF应用所依赖的就是这些服务提供的功能。这个小节让我们看一下服务是怎么配置到ADF应用,并和ADF对象关联起来的。比如我现在发布了一个名为“World”的地图服务(Map Service),在ADF应用中准备通过Internet的方式进行连接。在当前的JSP文件上右键菜单,选择【ArcGIS】-【Configure Map Service…】后,如图 6所示添加地图服务。图 6 在当前应用中配置服务在添加服务以后,让我们打开“faces-co原创 2009-04-03 17:22:00 · 1170 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 7
ADF是怎样开始工作的ADF现在已经存在于我们的工程中了,接下来的问题就是它是怎么工作的了。换句话说,当我们的开发任务完成以后,把这个ADF项目部署到一个Java Web服务器上,当有浏览器对它发生请求的时候,我们的服务器怎么知道我这是一个JSF应用,进一步还会根据ArcGIS的ADF来生成那些乱七八糟的诸如WebContext之类的对象呢?我们首先来看一下,当一个用户对服务器发送请求的时候,Java Web服务器怎么判断他要访问的是一个JSF应用。让我们打开“/WebContent/WEB-INF/web原创 2009-03-30 16:43:00 · 1358 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 6
ADF的逻辑结构尼采说:“我没有肉体,我只有灵魂”,感情这哥们从不吃喝拉撒——咱就不从唯物主义去批判他了,反正咱ADF不一样,它可是有胳膊有腿、有思想有能力的四有框架。上面刚介绍完了ADF的物理组成,根据由表及里、由浅入深的认识论原则,现在我们开始认识一下ADF的逻辑结构。在ADF的帮助中有一张MVC示意图,其中把视图和控制器合并在了一起,因为ESRI认为ADF的组件不仅仅在视图层,它们还影响到了Web应用流程,有控制器的功能。这种划分我感觉不太清晰,所以这里还是把控制器独立了出来。图 3 ADF的MVC原创 2009-03-27 23:13:00 · 1527 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 27
四 QueryResult上面几个小节让我们知道了不同的查询功能应该怎么去实现,每个查询中都返回了QueryResult对象的集合。这个小节我们就来详细说说QueryResult对象。QueryResult对象是一个查询结果,当然,这是一个服务器端对象,然而在服务器上QueryResult并不仅仅是一个记录,而是一个可以和Map互动,可以高亮显示、移除、缩放到的一个对象。比如当我们做完查询以后,想在地图上显示所有的结果要素,那么,调用QueryResult的highlight方法就可以做到:webConte原创 2009-05-14 16:57:00 · 747 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 2
ADF为什么选择JSF为什么ESRI会选择JSF作为ArcGIS Java ADF的基础框架,想来你也不会很关心,因为这已经是一个既成事实了(说这句话的时候我感觉很对不起我这个小标题)。我以前是用PHP写Web应用的,也没用过Struts、Spring之类的框架,因此也就无从比较JSF与它们的优劣。有句话说的好,生活就像某件事情,如果你不能去反抗,那就闭上眼就享受吧。如果你要使用ArcGIS Java ADF开发,那么你还可以对框架挑三拣四么?好了,既然你无能为力,那么就开始享受它吧。为了给自己再找点心理上原创 2009-03-18 15:44:00 · 2251 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 17
四 ToolTool是另外一种按钮,虽然它在外观上和Command可能没什么区别,但是当Tool被点击以后,地图状态就进行了改变。比如我当前默认对地图的操作是漫游,通过点击一个Tool,接下来在地图上的点击可能就变成了放大操作——与地图交互,这就是Tool的作用。以下代码定义了一个“使地图处于漫游状态”的Tool:Tool定义时两个最重要的属性就是clientAction和serverAction。clientAction定义的是在浏览器端执行的操作,比如这里的“EsriMapContinuousPan”代原创 2009-04-28 13:37:00 · 1085 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 40
二 两种方式自定义Web Service 在IDE里创建一个Web Service工程是很容易的,只要找到【File】-【New】-【Web Service】菜单就可以了,点击这个菜单将会弹出下面的对话框: 这里的Web service type有两种选择:一种是Bottom up、另外一种是Top down。这两种方式分别对应了自下而上和自上而下两种新建Web Service的模式。如果你已经有了实现的功能类,现在想要把它封装成Web Service,那么你应当选择Bottom up模式;如果你首先定原创 2009-09-02 17:33:00 · 1350 阅读 · 3 评论 -
ArcGIS Server Java ADF 案例教程 43
一 Server Object Extensions Server Object Extensions(以下简称SOE)是Server Object的扩展,比如MapServer、GPServer等等。和Utility Objects不同,SOE只在Server Object被创建的时候被初始化,它的生命周期和Server Object是相同的。相比Utility Objects,SOE有以下的一些特点: Ø 开发人员不需要手动实例化SOE,SOE是在Server Object被创建的同时被实例化的 Ø A原创 2009-09-09 10:02:00 · 1725 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 37
二 IServerContext详解 在ADF中使用Local方式去连接服务产生的资源是AGSLocalMapResource[1],它有一个方法是getServerContext,返回的是一个实现了IServerContext[2]接口的对象。这个接口在ADF调用AO的过程中很重要,下面我们来详细谈一下这个接口。 当我们的ADF应用使用Local的方式去连接服务,那么在发生请求并连接到ArcGIS Server的时候,在服务器上就会产生一个服务器环境对象(server context),这个对象可以被理解原创 2009-08-31 16:33:00 · 1205 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 23
三 Task的渲染Task的功能类中还有一个属性,IDE默认生成的名字是taskInfo,它对应这个另外一个Java类(如上面QueryTaskTaskInfo类)的对象。这个类主要控制Task的渲染,我们可以回想一下,如果光在Task的功能类中定义了Command是一个void类型的query方法,Task面板怎么会生成一个标签为“查询”的按钮出来的呢?答案就在taskInfo中。打开上面生成的“QueryTaskTaskInfo.java”文件,我们可以看到以下的内容:public class Quer原创 2009-04-30 14:56:00 · 965 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 20
七 自定义Button实现前面的Command和Tool【案例】在这一章前面的小节中,我们实现了两个案例分别演示Command和Tool的功能;在这个案例里,让我们用Button来完成相同的工作。首先,我们需要在一个我们自己定义的ManagedBean 来实现这些功能。注意,在这个ManagedBean中我们会使用WebContext对象(否则怎么调用地图功能),因此,我们这个类定义需要实现WebContextInitialize接口。当然,在IDE中有更简单的方法,比如在Eclipse中选择菜单【New】原创 2009-04-28 13:47:00 · 877 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 19
六 ButtonButton不属于Toolbar的子元素,而是和Toolbar有类似的地位;但同时,它的功能又集合了Command和Tool。Button的出现主要是为了方便用户,当用户不希望出现一个工具条来摆放与地图相关的功能,那么Button可以在页面的任意地方摆放一个与地图相关的按钮。在ADF工程里,让我们打开ADF自带的模板页面“edit.jsp”,在里面有很多Button。以下是定义了一个在客户端绘制一个矩形,服务器端执行“选择要素”操作的Button:我们可以看到,Button和Command以原创 2009-04-28 13:44:00 · 845 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 16
三 WebContext的refresh方法提示:本小节内容是ADF内部实现机制,对ADF的使用没有影响,如没有兴趣可以跳过。当调用WebContext的refresh方法的时候, ADF会同步WebContext中所有相关属性。比如当我改变了WebMap的视图范围,然后再调用WebContext的refresh方法,那么ADF会通知WebContext中的WebOverview等对象去同步相关信息,比如同步改变视图范围等。以上过程ADF在后台是通过Observer机制实现的。当ADF调用WebContex原创 2009-04-21 15:13:00 · 1291 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 14
Command、Tool和Button这一章我们将讨论的主要对象是Toolbar的孩子们和亲戚,涉及到两个孩子:Command和Tool,还有一个亲戚:Button。它们是基于ADF对WebGIS功能进行扩展的第一步,它可以让你在地图工具条中加入若干自定义的按钮来执行特定的功能。在第三章中我们把Toolbar列为ADF常用组件之一,但是它和Map、TOC、Overview等其它组件是有区别的,我们打开“context-attributes.xml”配置文件可以发现,Map、TOC、Overview等组件都有原创 2009-04-20 16:11:00 · 1176 阅读 · 3 评论 -
ArcGIS Server Java ADF 案例教程 12
EsriMap详解提示:本小节所涉及内容主要由ADF自己完成,分析只是为了更好地了解原理,为将来有可能做的扩展进行准备。EsriMap在“/WebContent/js/esri_map.js”中定义,让我们从Map组件输出的JavaScript代码开始去了解ADF在浏览器中所做的工作。下面的代码是一个简单地图输出的JavaScript代码(为了便于阅读,我对某些代码作了等价的修改),其中“AgsTest”是我的项目名称:现在让我们开始看浏览器一步一步执行的JavaScript代码。除了引入一些ADF的Jav原创 2009-04-08 17:23:00 · 1732 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 13
【案例】给地图加上弹出气泡在这一小节里,我们将会在地图上加一个气泡,很多时候你需要弹出一些简短的信息到地图上,气泡就是为了满足这样的要求的。首先让我们回忆下这一章的主要内容,前面讲了ADF一些常用的地图组件,然后从Map组件入手详细分析了它在服务器端和浏览器端的具体实现。现在我们的气泡功能主要是对浏览器端的Map进行功能扩展,那么首先应该想到的就是EsriMap这个JavaScript类,我们在EsriMap中弹出一个div,再放上我需要的信息不就可以了么?等等,在页面上弹出一个div是很简单,但是用户还会原创 2009-04-15 15:26:00 · 1719 阅读 · 2 评论 -
ArcGIS Server Java ADF 案例教程 38
三 调用AO实现缓冲功能【案例】 在这个小节中,让我们通过调用AO实现一个缓冲区分析的功能。 首先,我们需要配置一个地图服务资源,还是用前面使用过的世界地图服务吧,但是这次采用的是Local方式去连接,你可以直接在打开的JSP页面上右键选择【ArcGIS】-【Configure Map Service…】菜单打开服务配置窗口: 图 27 使用IDE插件配置 Local方式连接的服务 下面我们在一个Tool中通过这个AGSLocalMapResource来调用AO: public class BufferP原创 2009-09-01 08:58:00 · 1318 阅读 · 2 评论 -
ArcGIS Server Java ADF 案例教程 36
调用ArcObjects 到这里我们对ADF已经讲了不少内容了,让我们先稍微回忆一下。我们从ADF的结构入手,首先介绍了Tool、Command和服务器的交互、在此基础上介绍了可以帮助实现复杂业务逻辑的Task;然后,进行了更细节的功能讲解,比如怎么进行查询、怎么显示动态结果、怎么不通过ADF组件来发送AJAX请求并获得响应、怎么自定义Functionality封装功能等内容。 前面这些内容仅仅围绕着ADF封装的GIS功能,或许你会开始怀念AO强大的功能,所以这一章就让我们来了解一下怎样可以用AO来进行更加原创 2009-08-31 16:32:00 · 1063 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 35
二 自定义一个地图放大5倍的Functionality【案例】在这个小节,我们去实现一个GISFunctionality去封装前面实现过的使地图放大5倍的功能。首先,当然是新建一个Functionality类并添加到ADF应用中去。前面我们经常通过直接编辑代码的方式去定义类和配置文件,这主要是为了帮助你理解ADF应用的配置和各个元素的相互关系。现在估计你也有一定了解了,我们也就尽量省事些,多使用ArcGIS的eclipse插件去完成这些工作吧。让我们打开eclipse的菜单【ArcGIS】-【Clas原创 2009-06-24 00:55:00 · 1079 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 32
监听AJAX请求并响应当从页面使用JavaScript发送了一个AJAX请求到服务器,服务器就需要对这个请求进行处理,因此这一小节的内容主要就是在服务器端。首先,让我们来了解一些JSF的内容——有关PhaseListener 。所谓的Phase就是JSF请求的阶段,一个JSF请求的生命周期中存在不同的阶段,当用户从页面向服务器发送一个请求的时候,JSF请求的生命周期就开始了。以下就是著名的JSF请求生命周期中6个阶段: 图 23 JSF请求的生命周期 PhaseListener是对JSF请求的阶段进行原创 2009-06-24 00:54:00 · 843 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 26
三 Where条件查询三个实现了QueryCriteria接口的类我们还剩PredefinedQueryCriteria没有介绍,这个类是用于进行where查询的。在进行查询的时候,通常需要设置一个比较复杂的过滤条件,这里就需要PredefinedQueryCriteria。下面我们尝试把前面使用TextCriteria查询的方法用PredefinedQueryCriteria来实现:WebQuery webQuery = (WebQuery) webContext.getAttribute("query"原创 2009-05-14 16:56:00 · 903 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 21
这一章我们主要研究一下Task同志的成份和出身。ADF中本身包含一些现成的Task,不过相比对开发人员来说没有很大的意义,这一章我们的重点还是在如何自定义Task。Task是实现业务逻辑的重要部分。简单来说,Task可以让输入一些参数(在页面上以文本框、组合框等形式出现)、通过Command和Tool的组合,帮助你完成特定的“任务”并返回结果,这就是所谓的Task。一 Task的请求虽说这一节的标题是Task的请求,但在这里我们对ADF的Task怎么向服务器做请求并不作深入的探讨,这里我们主要是去了解一个T原创 2009-04-29 15:49:00 · 823 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 18
五 自定义Tool实现点击地图居中【案例】在这一小节中,我们通过自定义一个Tool来激活这样的地图功能:每次点击地图,都以这个点击点为中心使地图居中。如下,我们新建了这样一个类CenterAtToolAction:import com.esri.adf.web.data.WebContext;import com.esri.adf.web.data.geometry.WebPoint;import com.esri.adf.web.faces.event.MapEvent;import com.esri.a原创 2009-04-28 13:41:00 · 859 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 15
二 【案例】自定义Command使地图等比放大在这一小节,我们通过自定义Command定制一个按钮,这个按钮每点击一次,地图会放大1倍。通过这个简单案例,让我们来熟悉一下Command的用法。实现这个功能的主要环节是实现自己的监听器类,以下是这个类的定义:import com.esri.adf.web.data.WebContext;import com.esri.adf.web.util.WebUtil;import javax.faces.event.AbortProcessingException;i原创 2009-04-20 16:18:00 · 1019 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 10
几个ADF常用组件图 6 ADF常用组件如图 6所示,ADF中几个与地图相关的组件的命名和功能都和ArcEngine很类似,主要包括Map、Toolbar、TOC、Overview等。我们先大致看一下这几个组件的用法和大概功能。Map应该是所有ADF应用中都要使用的组件,它是一个地图的容器,内置了对各种地图服务的使用和操作。它在服务器端绑定的是一个WebMap 对象。以下标签在页面中添加了一个Map组件:Toolbar是绑定到Map的工具条,在Toolbar中可以添加Tool和Command以实现相应的地原创 2009-04-03 17:34:00 · 1474 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 34
第八章 自定义FunctionalityFunctionality在ADF中的全称是GISFunctionality,从ADF的逻辑结构中我们知道,每个GISResource会对应多个 GISFunctionality,由这些GISFunctionality来提供实际的功能。这一章我们主要来看如何定义自己的 Functionality来扩展资源的功能。一 GISFunctionality详解既然Functionality与Resource关系紧密,那么就让我们从Resource入手,来看GISFun原创 2009-06-24 00:54:00 · 825 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 30
GraphicRenderer 上一小节我们知道怎样给GraphicElement指定WebSymbol来进行符号化,这里我们讲讲如何对WebGraphics进行设置,让它可以按照一定的规则自动将前面查询到的结果进行不同的渲染。 WebGraphis有个addRenderer方法,它可以添加GraphicRenderer对象,这个GraphicRenderer对象是几何对象的渲染器,它有一个renderer属性用以存放真正的符号渲染接口——WebRenderer,因此,它可以遵循某些规则对几何对象的集合进行原创 2009-06-24 00:53:00 · 839 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 31
自定义的请求和响应 前面用户的请求都是通过Task、Toolbar来执行的,在这一章里,我们将不使用这些ADF组件,来看看没有了它们的帮助,你应该怎么自己发送AJAX请求,或者在原先输出的AJAX响应中添加上一些额外的信息。 一 发送AJAX请求 首先让我们看一下怎么不依靠任何ADF组件的帮助来发送一个AJAX请求,比如,在页面上有一个纯HTML的表单按钮,我们希望点击这个按钮的时候可以发送一个AJAX请求到服务器,应该怎么做? 那就让我们假设这样一个场景:用户点击一个HTML的“放大5倍”按钮,地图就可以原创 2009-06-24 00:53:00 · 638 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 25
二 几何对象查询在上一章的QueryTask中也有对几何对象的查询,你可以回忆一下那个Task面板中“选择”那个Tool。这个Tool会在Map中绘制一个多边形,然后ADF根据这个多边形查询位于多边形内的所有要素。几何对象的查询主要使用IdentifyCriteria对象,下面的代码实现了这样一个根据多边形查询要素的功能:WebContext webContext = event.getWebContext();WebGeometry webGeometry = (WebPolygon) event.get原创 2009-05-14 16:54:00 · 934 阅读 · 2 评论 -
ArcGIS Server Java ADF 案例教程 33
自定义AJAX请求获得地图范围【案例】比如你现在想随时知道当前地图的边界范围,也就是说每次地图范围更新后,希望服务器可以输出一个包含边界范围的AJAX响应到浏览器,那么首先你需要在用户对地图进行操作的时候发送一个AJAX请求。这个请求你可以在每次地图被更新的时候去调用,比如一开始就通过addUpdateListener给 Map添加一个监听:function onBodyLoad(){ map = EsriControls.maps['map']; map.addUpdateListener("原创 2009-06-24 00:54:00 · 984 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 39
第一章 有关Web Service 在IDE的菜单中,你会看到有个很长的【ArcGIS Web Services Project】,别高兴,这不是给你自定义Web Service的,运行完向导你会发现生成的是一个Java桌面程序——有着一如既往丑陋的界面和很不友好的GIS功能。原来我一直当它是废物,不过前段时间它还真的帮了我大忙。我们有个测试需要测ArcGIS Server对Web Service的支持,要求必须抓取到浏览器与服务器交互的可读的SOAP消息;但是你要知道,考虑到效率ArcGIS Server原创 2009-09-02 17:31:00 · 2068 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 42
二 使用Utility Objects提高查询性能【案例】 这是我的同事使用Utility Objects解决某个用户的一个实际问题。这个用户通过调用AO进行空间查询,然后在此基础上进行分页,分页的时候遍历该页所有的IFeature,提取属性信息,构造成自己的结果返回——结果,遇到了严重的性能问题,在上万条记录中查询一般两三分钟才可以出结果,这在一个国家级项目中是难以忍受的。 经过添加日志分析,发现AO查询的速度非常快,问题就是出在遍历IFeature这个操作上,是不停地进行跨进程调用产生的。就在这个时候9原创 2009-09-04 14:30:00 · 1137 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 8
ADF页面结构在介绍ADF组件之前,我想还是先花点时间了解一下ADF的页面结构比较好,因为首先你要知道,使用ADF并不是简单地把这些组件拖到一个JSF页面上就可以用的。打开模板工程的地图页面“mapviewer.jsp”,首先在页面顶端我们会找到对ADF标签库的引用,JSF页面会通过这个标签库(前缀为“a”)来定义相应的ADF组件。往下到页面的主体部分,所有的ADF组件都放在“f:view”标签内,这很好理解,因为我们的ADF组件是基于JSF的,因此也必须放在JSF的组件树结构中,“f:view”就是JSF原创 2009-04-02 15:04:00 · 1019 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 4
ADF是什么说了半天的ADF,突然发现到底ADF是什么还一直没提。突然想到有人在网上恶搞了“卧槽泥马”源自《战国策》,居然还有报纸以此引经据典拽了一把酸文,捧腹之余顿感正本清源的重要。我们的ADF全称是ArcGIS Java Web Application Developer Framework,一般简称Java ADF,在这里我就直接称呼ADF了。从这个名字也可以看到ADF的实质,它是为了开发Web应用而生的一套开发框架,开发人员可以在ADF的基础上相对比较容易地开发出WebGIS应用。相比ArcGIS原创 2009-03-19 23:11:00 · 2064 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 3
JSF的直观印象如果我是一个项目经理,我当然最喜欢的是又会写代码,又会做美工,顺便最好还能陪我对战几把Warcraft的全能型选手——最好要的薪水也可以少一点。不过,自古文武全才型的选手就比较难得,手下能有一些懂一点美工的程序员或者懂一点代码的美工就已经很不错了。因此,各种Web开发框架都希望做到的事情是尽量把页面设计和后台逻辑分离开。这里不仅仅涉及到MVC的实现,还在于开发者角色的分离。做美工的希望面向的是一个纯粹的页面设计工作,直接和HTML和CSS打交道会让他们非常舒服和得心应手;而程序员(不管是写页原创 2009-03-18 15:45:00 · 1828 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 24
第六章 查询及结果对空间信息进行查询是GIS中很基本且很常用的功能,在这一章中,我们主要看在ADF中如何进行查询、查询出结果以后怎样返回客户端。另外,在这里也先预告下,在下一章我们还会讲查询到的这些结果怎样在Map中表现出来。一 文本查询在上一章QueryTask的query方法中我们已经用到了文本查询的功能,你可以回忆一下,在这个方法中我们根据Task面板中文本框的内容,对图层进行了查询,用到的就是keyWord这个字符串变量。下面我们来详细说一下文本查询的过程。在ADF中负责进行文本查询的是WebQue原创 2009-05-08 21:26:00 · 900 阅读 · 0 评论 -
ArcGIS Server Java ADF 案例教程 22
二 Task的执行Task的执行主要在对应的功能类(比如上面的QueryTask类)中实现,上面已经详述了Task中的Parameter、Command、Tool分别对应的功能类中的元素,下面就让我们看看怎么去使用它们。在上面定义的那个QueryTask中,我们设计点击“查询”按钮就能根据文本框中输入的关键词去查找相应的要素。下面是实现这样功能的一段代码: public void query(TaskEvent event) { WebContext webContext = eve原创 2009-04-30 14:55:00 · 809 阅读 · 0 评论