添加命令和工具

继前一讲的ADF工程,那里只有两个工具“放大”和“缩小”以及一个命令“放大到全部”。你可以添加更多的工具和命令到你的Web ADF应用
中,本文介绍如何添加欲定义的工具或命令和自定义的工具和命令。

添加一个命令: 命令是一个触发服务端动作而不需要进一步地客户端交互地JSP页面元素。命令的一个例子是"放大到全部" 按钮。用户一点击该按钮,服务端就执行一个方法。工具在执行一个服务端方法前需要进一步的客户端交互。

Web ADF提供了如下的标准命令:
Zoom to full extent
Zoom to previous extent
Zoom to next extent
Directional pan
Tools

像下面的例子,一个"右移"的命令将添加到应用中显示了如何将添加预定义的命令到Web ADF应用中。"右移"命令允许用户右移地图当用户点击该按钮时。

添加命令的步骤:

  • 在JSP页面中添加<a:command>标签
  • 为该命令指定"actionListener"
  • 设置该命令标签的属性

  
这里是一个添加向右移动的例子:

<a:command>
    <f:actionListener type="com.esri.adf.web.faces.event.DirectionalPanListener"/>
    <f:attribute name="contextId" value="mapContext" />
    <f:attribute name="direction" value="right" />
</a:command>
   
对于"右移"命令,你必须设置"contextId"和"direction"属性并且指定actionListener为"com.esri.adf.web.faces.event.DirectionalPanListener"。其他属性如图片等如果必要也可以加以设置。

添加工具:工具在执行一个服务端方法前需要进一步的客户端交互。工具的一个例子是"框选放大"。用户点击按钮,还要在地图上拖拽一个方框表示欲放大的区域,然后服务端的方法才执行。地图和工具的交互是工具栏必须指定它的关联地图的原因。
工具的clientAction属性指定哪一种客户端脚本被执行。clientAction属性可以取以下的值:
EsriMapCircle
EsriMapContinuousPan
EsriMapLine
EsriMapOval
EsriMapPan
EsriMapPoint
EsriMapPolygon
EsriMapPolyline
EsriMapRectangle

调用的服务端方法可以用serverAction或serverMethod属性指定。serverAction属性需要一个实现com.esri.web.adf.faces.event.MapToolAction接口的Java类的全名。serverMethod属性需要一个绑定接受com.esri.adf.web.faces.event.MapEvent 参数的方法。服务器端的方法用clientPostBack属性设置异步地或者同步地调用。

Web ADF提供了以下标准地工具:
Zoom in
Zoom out
Pan

作为一个例子,一个"移动"工具将加到应用中显示了如何将添加预定义的工具到Web ADF应用中。"移动"命令允许用户移动地图当用户拖拽地图时。

添加工具的步骤:

  • 在页面添加<a:tool>标签
  • 指定"clientAction"和"serverAction"属性
  • 设置工具的其他属性

这里是一个添加移动工具的例子:

<a:tool />

小结

添加自定义命令或工具的步骤:

1. 创建一个类,添加业务逻辑
2. 声明这个类作为一个managed-bean
3. 添加命令和工具标签到JSP页面中,并绑定managed-bean适当的方法 

相关文章:

  • 2021-04-21
  • 2021-12-08
  • 2021-07-10
  • 2022-12-23
  • 2022-12-23
  • 2021-09-09
  • 2021-07-23
  • 2022-01-15
猜你喜欢
  • 2021-09-25
  • 2021-05-11
  • 2022-12-23
  • 2022-01-29
  • 2022-12-23
  • 2021-06-13
  • 2022-12-23
相关资源
相似解决方案