`
czwangelo
  • 浏览: 70824 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

server simple例子 代码分析

阅读更多
<a:toolbar id="Toolbar" mapId="Map0" activeTool="ZoomIn">
   <a:tool id="ZoomIn" clientAction="EsriMapRectangle" 
   serverAction="com.esri.adf.web.faces.event.ZoomInToolAction" clientPostBack="true"/>
   <a:tool id="ZoomOut" clientAction="EsriMapRectangle" 
   serverAction="com.esri.adf.web.faces.event.ZoomOutToolAction" clientPostBack="true"/> 
   <a:command id="fullext" clientPostBack="true">
   <f:actionListener type="com.esri.adf.web.faces.event.ZoomFullExtentListener"/>
   </a:command>
</a:toolbar> 

 

<a:map id="Map0" value="#{mapContext.webMap}" width="400" height="400"  />

在这些代码中,我们看到有个clientAction属性,这是一些javascript脚本的语句,

打开js文件夹中的,esri-map.js中

function EsriMapRectangle(id, toolName, isMarkerTool) {
	this.inheritsFrom(new EsriMapToolItem(id, toolName, new EsriDrawRectangleAction(), isMarkerTool));
  var self = this;

  this.update = function() { self = this; }
	this.postAction = function(rect) {
    if (rect.width == 0 && rect.height == 0) return;

    self.update();
    var map = self.control;

    if (self.isMarker) map.graphics.drawRectangle(rect);
    else {
      if (self.showLoading) map.showLoading();
      rect = rect.offset(-map.viewBounds.left, -map.viewBounds.top);

      EsriUtils.addFormElement(map.formId, map.id, map.id);
      EsriUtils.addFormElement(map.formId, map.id + "_mode", self.id);
      EsriUtils.addFormElement(map.formId, map.id + "_minx", rect.left);
      EsriUtils.addFormElement(map.formId, map.id + "_miny", rect.top);
      EsriUtils.addFormElement(map.formId, map.id + "_maxx", rect.left + rect.width);
      EsriUtils.addFormElement(map.formId, map.id + "_maxy", rect.top + rect.height);
      if (self.clientPostBack) EsriUtils.addFormElement(map.formId, "doPostBack", "doPostBack");
      EsriUtils.submitForm(map.formId, self.clientPostBack, EsriControls.processPostBack);
    }
	}
}

 

而serverAction指的是服务器端的运行,比如ZoomOutToolAction。

该ZoomOutToolAction继承的是MapToolAction,必须实现execute(MapEvent event) 方法

分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    CoAP-simple-library

    例子包括一些Arduino的示例草图(/ examples /)。 coaptest.ino:简单的请求/响应示例。 coapserver.ino:服务器端点url回调示例。如何使用下载此源代码分支zip文件并将其解压缩到Arduino库目录或签出存储库。 这是...

    ArcGIS_Server_9_3和ArcGIS API for JavaScript入门经典参考资料

    1.Web Application自带例子分析功能 一、无刷新机制;MapIdentify功能;距离测量功;自定义Tool以及TaskResults应用。 a) Common_WebMappingAppCSharp 二、Callback机制。 a) Common_Callback_CSharp 三、...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    spring cloud 配置中心代码例子

    查看配置 :http://localhost:8081/cloud-config/simple2 查看配置效果:http://localhost:8080/index 注意: 测试了下配置文件好像要放到spring cloud server端外面刷新才生效

    结合Python的SimpleHTTPServer源码来解析socket通信

    SimpleHTTPServer是Python中一个现成的HTTP服务器例子,本文我们将结合Python的SimpleHTTPServer源码来解析socket通信,我们先来看一下socket的基本概念:

    Visual C++ 编程资源大全(英文源码 COM)

    HelloTutorial3_src.zip In this step we add a simple COM object to our server using the New ATL Object Wizard.(25KB)&lt;END&gt;&lt;br&gt;17,HelloTutorial4_src.zip Here we add a method to our DCOM-remoted ...

    Visual C++ 编程资源大全(英文源码 网络)

    (38KB)&lt;END&gt;&lt;br&gt;36,chessserver.zip Multithreaded TCP/IP Telnet Server - Chess Game Example(49KB)&lt;END&gt;&lt;br&gt;37,telnetview.zip NT Telnet server and client(45KB)&lt;END&gt;&lt;br&gt;38,winping.zip A simple ...

    goc:Go编程语言的全面覆盖测试系统

    为此,通常只需三个步骤: 使用goc server启动服务注册中心: ➜ simple-go-server git:(master) ✗ goc server使用goc build来构建目标服务,并运行生成的二进制文件。 这里以项目为例: ➜ simple-go-server git:...

    Oracle_Data_Integrator应用指南

    3.3. O2O CDC(Simple) 32 3.4. O2O CDC(Consistent Set) 35 3.5. O2O CDC(Consistent Set Using Log Minner) 41 3.6. Agent 42 3.7. Schedule 43 4. 最常用特性和功能实例二(SQL Server、XML) 45 4.1. ...

    talks2015-jdd-ratpack-the-core-for-your-microservices-setup

    这是在克拉科夫举行的JDD 2015演示期间使用的演示代码。 它概述了Ratpack的功能,并提供了一个简单的用例,说明了如何有效地将其用于微服务。 在运行示例之前,您需要: 安装Java 8+并设置JAVA_HOME变量; 安装...

    server-side-rendering-translator:通过nodejs预渲染一个应用,没有客户端渲染的闪烁效果

    React服务器示例 一个简单的(无编译)示例,说明如何使用库进行服务器端渲染,以便可以在服务器和浏览器之间共享组件代码,以及获得快速的初始页面加载和搜索引擎友好...// This is just a simple example of a compo

    Spring-Oauth2-Toturials:使用Spring Oauth2做分布式鉴权

    这里以simple_token为例子来讲解.下载项目并解压之后得到文件夹Spring-Oauth2-Toturials-master打开intellij,引入项目Spring-Oauth2-Toturials-master\1_simple_token\authorization_server运行成功无异常后,使用...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Simple Weather源码 4.7. 添加资源 4.8. 运行Simple Weather项目 4.8.1. Maven Exec 插件 4.8.2. 浏览你的项目依赖 4.9. 编写单元测试 4.10. 添加测试范围依赖 4.11. 添加单元测试资源 4.12. 执行单元...

    在线编辑器

    Editor1.SetSecurityGalleryPath(path) 3、按纽设置:* 属性----外观----AutoConfigure * 代码 Editor1.AutoConfigure = AutoConfigure.Simple * CuteEditor文件夹HowTo目录下的AddButton例子 4...

    mycos:用于本地和分布式通信的简单消息传递库

    ###simple client-server example 也许简单的例子是描述 mycos 最有效的方式。 您可以使用不可变的 SocketBuilder 轻松创建新的套接字(例如客户端套接字)。 以下几行构建了一个连接到 localhost:8000 服务器的新...

    shiny-d3js-simple-binding:使用简单的自定义消息处理程序绑定 Shiny 和 D3JS

    这个例子展示了如何从一个数据框创建一个(简单的)d3js 树。 数据以 data.frame 格式在 server.r 中预先制作。 当 actionbutton 被点击时,data.frame 被传递给函数“jsonlist”以将其更改为 json 格式。 最后,...

    asp.net知识库

    正式发布表达式计算引擎WfcExp V0.9(附源码) 运算表达式类的原理及其实现 #实现的18位身份证格式验证算法 身份证15To18 的算法(C#) 一组 正则表达式 静态构造函数 忽略大小写Replace效率瓶颈IndexOf 随机排列算法 ...

Global site tag (gtag.js) - Google Analytics