zoukankan      html  css  js  c++  java
  • 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的功能

    代码
    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

    代码
    <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即可。
  • 相关阅读:
    契约测试SpringCloud Contract入门
    CircuitBreaker 组件 resilience4j
    阿里开源的15个顶级Java项目
    将军令:数据安全平台建设实践
    ResNet
    设计模式
    muduo评测摘要
    muduo 学习
    RAII
    大数据框架
  • 原文地址:https://www.cnblogs.com/myparamita/p/1639772.html
Copyright © 2011-2022 走看看