命令事实上是command,也就是平常所在html页面里面的command,这些command里面就是命令按钮。在我们的ArcGIS Server的Web ADF里面,command被用来做一些不用跟地图交互的工作;比如缩放到全图:你不需要跟地图做任何交互,只要一按按钮,地图就缩放到全图。其它用处,就靠大家去发挥想象了,相信大家在以后的项目中会经常用到。我们以一个例子作为说明:
package com.demo;
import javax.faces.event.ActionEvent;
import com.esri.adf.web.data.WebContext;
import com.esri.adf.web.data.geometry.WebExtent;
import com.esri.adf.web.faces.event.MapEvent;
import com.esri.adf.web.faces.event.MapToolAction;
public class MyFullExtent {
WebContext context;
public WebContext getContext() {
return context;
}
public void setContext(WebContext context) {
this.context = context;
}
public void setFullExtent(){
try{
WebExtent ex=context.getWebMap().getFullExtent();
context.getWebMap().setCurrentExtent(ex);
context.refresh();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
这是无比简单的一个command,简单到我都不好意思发出来给大家看了。注意这个类没有实现任何接口,也没有扩展任何现有的类,除了祖宗Object。它有一个WebContext,从上面一个讲座我们可以知道,这个类可是我们整个Web ADF的关键,有了它,可以得到所有的东西了。
这个类关键的方法是setFullExtent,里面的几行代码用来将地图缩放到全图,大家看看代码应该就可以明白。
怎么进行部署呢?就像普通的managed bean一样进行部署就可以了,打开jsf application的心脏faces-config.xml文件,在里面添加如下配置:
<managed-bean>
<managed-bean-name>myFullExtent</managed-bean-name>
<managed-bean-class>com.demo. MyFullExtent </managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>context</property-name>
<value>#{mapContext}</value>
</managed-property>
</managed-bean>
注意我们把web context作为一个属性,用来初始化MyFullExtent,#{mapContext}指向了一个在faces-config.xml文件中定义的另外一个Bean,这个bean我们上次讲座已经详细解释过了。这里说一句废话,算是提醒一下,有请求过来的时候,先实例化这个类,然后再设置属性,有的工程师想在实例化里面进行一些操作,就必要用webContext,会报告空指针错误,因为这个时候webContext属性还没有被设置。
类写好了,也配置好了,怎么用呢,再给个例子:
复制内容到剪贴板代码:
<a:command id="fullExtent" action="#{myFullExtent. setFullExtent }" toolText="全图显示" />
自定义command就这样完成了。
分享到:
相关推荐
7、Server Java 开发实战---自定义command 19 8、 ArcGIS Server Java 讲座--ADF 体系结构 第一部分 21 9、ArcGIS Server JAVA讲座--实现后台JSF Bean和前台Javascript的联动 24 10、ArcGIS Server JAVA讲座 --AJAX...
2. **协议支持**:它实现了telnet协议的大部分标准选项,如IAC( Interpret As Command)、NAWS(Negotiation of Window Size)和DO/DONT/WILL/WONT命令等,以确保与不同telnet客户端的兼容性。 3. **会话处理**:...
JavaServer Faces(JSF)是Java平台上的一种用于构建用户界面的服务器端框架,它简化了创建Web应用程序的过程,特别是那些需要复杂用户交互的应用程序。在提供的压缩包中,有两个重要的jar文件:`jsf-api.jar`和`jsf...
1. **jello命令服务器**:jello-command-server可能是项目团队自定义的一个命令行工具或服务,它提供了一种方式来管理和控制项目中的任务,如构建、部署、测试等。这种服务器通常通过命令行接口(CLI)与开发者交互...
- **自定义Command实现地图等比例放大案例**:该案例详细介绍了如何创建一个自定义的Command组件,以实现地图的等比例放大功能。 - **WebContext的refresh方法**:用于刷新页面或某个特定区域的内容,这对于实现异步...
通过自定义Command,开发者可以实现更复杂的地图控制逻辑。 - **Tool**:Tool组件则是为地图操作提供了一种更灵活的方式,例如点击地图中心的工具。这些工具可以通过编程方式定制,以满足不同的应用需求。 - **...
Apache FtpServer致力于提供一个稳定、安全且高效的服务,它基于Java语言开发,可以轻松地集成到各种Java应用环境中。 **主要特点:** 1. **模块化设计**:Apache FtpServer的核心设计为模块化,允许开发者根据需要...
通过自定义command,开发者可以实现特定的功能,如“fullextent”工具,通过JSF的commandButton组件触发操作,将事件绑定到服务器端代码,从而控制地图显示全范围。同时,JSF与后台的JavaBeans(JSF Bean)和前端的...
* @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner sc=new Scanner(System.in); int typenum=0;String names="nulls"; ...
接着,启动 Trino Server,通常通过执行 `sbt run` 或者自定义的启动脚本来完成。 5. **客户端连接**:对于 CLI 客户端,只需将 trino-cli-363-executable.jar 解压并运行,通过 `java -jar trino-cli-363-...
### ArcGIS Server 9.2帮助文档翻译(4):Adding a Command or Tool #### 添加命令或工具概览 在ArcGIS Server 9.2环境中,添加自定义命令或工具是一项重要的扩展功能,它允许开发者根据特定需求创建并集成新的功能...
自定义Command案例演示了如何创建一个实现特定功能的命令对象,而自定义Tool案例则演示了如何创建一个响应用户点击地图事件的工具。 ADF中还专门介绍了Task的概念,包括Task的请求、执行和渲染过程。通过定制Task...
建立罐子mvn clean installscp target/sib-group-membership-mapper.jar username@remote-keycloak-server:/tmp使用jboss脚本将jar作为模块安装./bin/jboss-cli.sh --command= " module add --name=swiss.sib....
在Shell命令行中,可以使用`mqadmin`工具配合`-n`选项指定NameServer地址,如`sh mqadmin command-name -n name-server-ip1:port;name-server-ip2:port`。对于集成到自定义控制面板的应用,可以通过`...
nohup java -jar /root/server-jwt-1.0.jar &; ``` 这条命令的作用是在后台启动 `server-jwt-1.0.jar` 文件,并忽略挂断信号。其中: - `nohup`:使得进程在终端关闭后继续运行。 - `java -jar`:使用 Java ...
【基于Java的ArcGIS Server开发】是一个专题,主要探讨如何使用Java语言来开发Esri的ArcGIS Server应用程序。ArcGIS Server是一种地理信息系统平台,用于创建、托管和分发地图及地理服务。Java作为广泛使用的编程...
import org.apache.sshd.server.command.Command; import java.io.*; public class MyCustomCommand implements Command { private OutputStream out; private OutputStream err; private ExitCallback ...
这包括创建自定义command,它可以执行特定的操作;实现自定义tool,用户可以通过交互方式与地图进行交互;以及开发自定义task,允许扩展用户界面和功能。 总的来说,这个培训涵盖了ArcGIS Server 9.3在Java环境下的...
此存储库中的Docker文件可用于创建您自己的自定义Docker容器,以在CommandBox上运行ColdFusion CFML应用程序。 利用CommandBox,您可以从项目根目录中的单个server.json文件配置整个ColdFusion CFML引擎环境。 标签 ...