ArcGIS Server Java--自定义command

参考:Server Java 开发实战---自定义command

 

command里面就是命令按钮。在我们的ArcGIS Server的Web ADF里面,command被用来做一些不用跟地图交互的工作.
1.编写java类,实现command的功能

command里面就是命令按钮。在我们的ArcGIS Server的Web ADF里面,command被用来做一些不用跟地图交互的工作.

 

1.编写java类,实现command的功能

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
package com.demo;

import com.esri.adf.web.data.WebContext;
import com.esri.adf.web.data.geometry.WebExtent;

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();
}
}
}

 

 

2.在faces-config.xml文件,在里面添加如下配置:web context作为一个属性,用来初始化MyFullExtent,#{mapContext}指向了一个在faces-config.xml文件中定义的另外一个Bean

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
< 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 >

 

 

3.在页面中调用

 

 
  
< a:command id = " fullExtent "
action
= " #{myFullExtent. setFullExtent } "
toolText
= " 全图显示 " / >

 

4.错误:Managedbean myFullExtent could not be created 引用的对象 "#{mapContext}" 的范围比引用对象小
原因为myFullExtent的managed-bean-scope属性为session,而mapContext的managed-bean-scope属性为request,调用的对象的作用范围应大于等于调用者的作用范围。此处将session改为request即可。

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/myparamita/archive/2010/01/05/1639772.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值