`
Virgo_S
  • 浏览: 1140290 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Server Java---自定义command

阅读更多
命令事实上是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就这样完成了。
分享到:
评论

相关推荐

    ArcGIS+Server+Java讲座

    7、Server Java 开发实战---自定义command 19 8、 ArcGIS Server Java 讲座--ADF 体系结构 第一部分 21 9、ArcGIS Server JAVA讲座--实现后台JSF Bean和前台Javascript的联动 24 10、ArcGIS Server JAVA讲座 --AJAX...

    基于java的arcgis server开发

    7、Server Java 开发实战---自定义command 19 8、 ArcGIS Server Java 讲座--ADF 体系结构 第一部分 21 9、ArcGIS Server JAVA讲座--实现后台JSF Bean和前台Javascript的联动 24 10、ArcGIS Server JAVA讲座 --AJAX...

    arcgis server java讲座

    arcgis server java 开发,自定义command,使用图片和TrueType字体进行标注,自定义Functionality,控制图层.....

    javajava操作sqlserver 数据库实例

    * @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"; ...

    sib-group-membership-mapper:自定义Keycloak协议映射器,用于组成员身份

    建立罐子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....

    docker-commandbox:适用于ColdFusionCFMLJava应用程序的官方CommandBox Docker映像

    此存储库中的Docker文件可用于创建您自己的自定义Docker容器,以在CommandBox上运行ColdFusion CFML应用程序。 利用CommandBox,您可以从项目根目录中的单个server.json文件配置整个ColdFusion CFML引擎环境。 标签 ...

    新版Android开发教程.rar

    � Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的有限子集,尚不承诺遵守 Java 任何 Java 规范 , 可能会造 成J ava 阵营的进一步分裂。 � 现有应用完善度不太够,需要的开发工作量较大。--------------------...

    java jdk实列宝典 光盘源代码

    2d图形,实现一个2d画板,能够画2d的线、圆和矩形,能指定图形的颜色并且能够撤销和恢复图形,command.java; 3d图形,Graphic3d.java; 一个时钟程序,能够显示星期和日期,变化背景和透明度Clock.java; 11 java...

    Spring Cloud Finchley SR2全套(集成Spring Gateway)

    &lt;groupId&gt;io.zipkin.java &lt;artifactId&gt;zipkin-server ${zipkin.version} &lt;!-- 剔除日志包 避免出现重复引用 --&gt; &lt;groupId&gt;org.apache.logging.log4j &lt;artifactId&gt;log4j-slf4j-impl Redis二次...

    java 面试题 总结

    从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。 9、...

    Javashop开发规范V2.2

    xml Mysql Oracle SqlServer int int NUMBER smallint int(1) smallint(1) NUMBER(2) int memo text CLOB text datetime datetime TIMESTAMP datetime long bigint NUMBER bigint decimal decimal NUMBER(20,2) ...

    超级有影响力霸气的Java面试题大全文档

    从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。 12、...

    CustomCommands:一个我的世界服务器插件,允许用户自定义命令。一个支持你在MC服务器自定义指令的插件

    CustomCommands:自定义指令 CustomCommands插件也叫CCS(CustomCommandS)或Custom-Commands等,允许自己设置一些指令的格式,以简化输入。 插件QQ群: 1028582500 作者:椽子。 明城京联​​合太学,保留所有权利...

    34款经典Dreamweaver插件

    IBM Java Server Pages 类别:DW Suite 文件格式:mxp DW的JSP编码功能增强插件 Gradient Text 类别:DW Suite 文件格式:mxp 在网页里生成一段色彩渐变的文字 dHTML AutoScroll Area 类别:DW Command...

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

    验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装Maven 2.3.3. 在Linux上安装Maven 2.3.4. 在FreeBSD或OpenBSD上安装Maven 2.4. 验证Maven...

    好用的代码生成源码

    基于数据库,内建好数据库的model,并支持多种数据库(mysql,sql server,oracle测试通过) 半手工方式,生成的代码放在某个目录,再手工拷贝回来工作区 易于做二次开发,整个生成器本身就是java源代码,源代码核心十分精简,...

    Spring-Reference_zh_CN(Spring中文参考手册)

    15.3. JavaServer Faces 15.3.1. DelegatingVariableResolver 15.3.2. FacesContextUtils 15.4. Struts 15.4.1. ContextLoaderPlugin 15.4.1.1. DelegatingRequestProcessor 15.4.1.2. DelegatingActionProxy 15.4.2...

    asp.net知识库

    在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf部署 ASP.NET 2.0 Security FAQs Asp...

    网络架构师148讲视频课程

    │ 自定义外部主题.pdf │ 配置管理.pdf │ ├─x-gen-projects │ └─project │ ├─.metadata │ │ │ .lock │ │ │ .log │ │ │ version.ini │ │ │ │ │ ├─.mylyn │ │ │ │ .tasks.xml.zip │ ...

    adb1.0.26包含fastboot.exe

    adb 的运行原理是 PC 端的 adb server 与手机端的守护进程 adbd 建立连接,然后 PC 端的 adb client 通过 adb server 转发命令,adbd 接收命令后解析运行。 所以如果 adbd 以普通权限执行,有些需要 root 权限才能...

Global site tag (gtag.js) - Google Analytics