首 页文章中心下载中心繁體中文
设为首页
加入收藏
联系我们
您当前的位置:开源盛世-源代码下载网 -> 文章中心 -> GIS 专区 -> 文章内容 退出登录 用户管理
栏目导航
· VC++专区 · V B 专区
· GIS 专区 · PDA 专区
· 其他编程 · 网站开发类
· 数据库类 · 软件应用
· 网络安全 · 论文专区
· 综合资讯
热门文章
· Tab Control控件使用...
· 学生档案管理系统
· [图文] 排列组合公式
· UTF-8与GB2312之间的...
· DirectShow下载安装...
· Virtual PC 在PAE模...
· Windows2000终端服务...
· MapInfo上的GIS系统...
· Mapbasic参考手册索...
· MapX应用开发中文讲...
相关文章
· 执行常见的数据库任...
· 操作SQL Server Mob...
· [图文] Server Java开发--B...
· ArcGIS Server Java...
· ArcGIS Server Java...
· ArcGIS Server Java...
· [图文] ArcGIS Server Java...
· ArcGIS Server Java...
· ArcGIS Server Java...
· [图文] ArcGIS Server Java...
Server Java 开发实战---自定义command
作者:不详  来源:vscodes.com整理  发布时间:2007-6-26 17:05:02  发布人:Polaris

减小字体 增大字体

这个文档大家如果喜欢看英文,在ESRI的帮助里面就有。本文和ESRI的帮助文档类似,当然,我写的会加入自己的一些东西。

咱开发人员拿到一个开发平台,当然是要用来开发的,而且我们最好把它改得面目全非,才能显出开发人员我的水平所在。对于那些拿着模版生成一个web gis站点就去问客户要钱的事情,对于一个有自尊的开发人员,一般是不屑做的。

所以,我们今天就讲讲如何自定义命令和工具,先说说自定义命令吧。

命令事实上是command,也就是平常所在html页面里面的command,这些command里面就是命令按钮。在我们的ArcGIS ServerWeb 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就这样完成了。

End of《Server Java 开发实战---自定义command》

[] [返回上一页] [打 印] [收 藏]
 
∷相关“Server Java 开发实战---自定义command”文章评论∷
(评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 网站目录 鄂ICP备06007162
开源盛世 版权所有Copyright © 2003-2005 VSCodes.Com. All Rights Reserved.