这一章我们主要研究一下Task同志的成份和出身。ADF中本身包含一些现成的Task,不过相比对开发人员来说没有很大的意义,这一章我们的重点还是在如何自定义Task。
Task是实现业务逻辑的重要部分。简单来说,Task可以让输入一些参数(在页面上以文本框、组合框等形式出现)、通过Command和Tool的组合,帮助你完成特定的“任务”并返回结果,这就是所谓的Task。
一 Task的请求
虽说这一节的标题是Task的请求,但在这里我们对ADF的Task怎么向服务器做请求并不作深入的探讨,这里我们主要是去了解一个Task在服务器端执行的时候需要客户端提供的信息有哪些。
图 13 一个Task的请求面板
如图 12是一个简单的Task请求面板,在这个面板中会有一些Parameter(一般以文本框、组合框等形式出现)和一些Command或Tool(一般以按钮形式出现)。下面我们先来定义一个Task,其中包含一个Parameter、一个Command和一个Tool。
在IDE中新建一个Task最简单的方法就是使用菜单【File】-【New】-【Task】,然后给你的Task起个名字,如图 14。
图 14 新建一个Task
这个时候,IDE会弹出另外一个对话框供你对这个Task进行一些设置,比如Task的名称、里面包含的Parameter、Command(在这里叫Action)、Tool等。这里就根据你的需要进行填写了,我们先各添加一个,如图 15所示。
图 15 给Task添加一些元素
这时你会发现,在Java源文件目录下多了2个文件,一个是“QueryTask.java”,另一个是“QueryTaskTaskInfo.java”,同时在faces-config.xml文件中也多了一个名为queryTask的ManagedBean。
打开“QueryTask.java”文件,我们可以找到和刚才定义的那些内容相对应的代码,下面的表简述了这样的一种对应关系:
类型 名称
Parameter String keyWord
Command Void方法 query(TaskEvent event)
Tool Void方法 select(MapEvent event)
在“QueryTask.java”中我们还可以找到QueryTaskTaskInfo对象,关于QueryTaskTaskInfo这个类的定义及其作用我们在后面再详细说。下面让我们先把这个Task添加到页面上去:
这里的taskInfo属性就是这个Task的TaskInfo对象,我们可以先不用管,唯一一个以前没有出现过的属性就是windowingSupport,这个属性定义的是这个Task面板是否可以在页面上浮动并拖拽。让我们运行下这个页面看一下效果:
图 16 上面定义的Task面板的效果
稍微总结一下,Task中主要包含3个功能元素:Parameter、Command、Tool;Task对应的Java类有2个,其中在实现功能的Task类(比如上面的QueryTask类)中,Parameter对应类中的属性字段、Command对应类中的带TaskEvent 参数的void方法、Tool对应类中的带MapEvent 参数的void方法。这样,前台的Task请求就和后台具体的功能联系起来了。
分享到:
相关推荐
ArcGIS Server Java ADF案例教程
arcgis server Java adf 案例教程
一本关于arcgis server java adf的案例教程
ArcGIS Server Java ADF 案例教程.pdf 最新版本,最全版本,最强版本
比较实用的ArcGIS Server for java学习资料
ArcGIS Server轻松入门.pdf ArcGIS_Server_Java_ADF_案例教程.pdf .NET构建和部署ArcGIS+Server+Web应用.pdf
ADF全称是Arcgis java Web Application Developer FrameWork,是为了开发web应用而生的一套开发框架,开发人员可以在ADF的基础上相对容易的开发出WEBGIS应用。
ArcGIS_Server_Java_ADF_案例教程
Myeclipse 创建 ArcGis for java web
arcgis server10 for java在myeclipse创建Web Adf实例(全程图解) 你懂的!
arcims9.2 adf java 开发简单实例图解 arcgis server adf简单实例--类似都基于adf开发
arcims9.2 adf java 开发简单实例图解3 arcgis server类似都基于ADF 自己写command 对起步或许有用
arcims9.2 adf java简单实例4 自己写tools 框选查询 arcgis server 自定义tools 与此类似 基于adf
task 缓冲区分析 arcgis server adf类似
arcims9.2 adf java 开发简单实例图解2 arcgis server类似都基于ADF 显示中文图层名 更改 截图中用的是gb2312会出现些问题 建议用UTF-8
task显示与中文标题设置 arcgis server类似