快速业务通道

通过URL打开Eclipse Rich Client Platform应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

通过URL打开Eclipse Rich Client Platform应用程序

时间:2011-02-17 IBM Brian Fleming

Eclipse Rich Client Platform (RCP) 为富客户机提供了一个极为灵活且功能丰富的框架。但是它的一个缺点是不能轻松地从其他源链接 RCP 应用程序中的业务对象。如果用户能够在其他应用程序中单击某个链接并被带到 RCP 应用程序中,并且已经打开了该链接所引用的业务对象,那将十分有帮助。例如,假定有一个用于处理费用申请的 RCP 应用程序。可能生成有关过期偿付的报表并以电子表格的形式发布(或者是在内部网中,或者作为富文本文档,或者作为电子邮件,或者其他形式等等)。该报表可能对每个过期申请使用一个引用编号。报表不会强制使用者把该引用编号复制并粘贴到 RCP 应用程序的搜索对话框中,而是包含启动 RCP 应用程序的超级链接 URL,该 URL 将把用户直接引导到对应的费用申请。本文将说明如何完成上述过程。

读者应当拥有编写 Eclipse 插件的经验,以及 Windows® 注册表和 TCP 协议的一般知识。虽然本文提供的示例针对 Windows 操作系统,但是在其他操作系统中也可以实现相同的功能。

解决方案概述

让我们从整体上查看解决方案的工作原理,然后进行细分并讨论如何实现各个部分。

遵循图 1 中的流程:

假定用户已经在桌面中打开 RCP 应用程序。

然后假定此用户在他的常用邮件客户机中收到了一封电子邮件,该邮件中包含链接 rcp://claim=25222 — 这是指向过期申请的引用 (1) 。

该用户单击链接,这将启动该用户的默认浏览器以处理请求 (2)。

该浏览器知道它不能在本机打开此 URL,因此它将查询 Windows 注册表以确定应当怎样委托该操作 (3)。

注册表将查找 rcp:// 协议并确定有一个与它绑定在一起的批处理文件 (4)。

此批处理文件将被执行 (5),这将触发独立的 Java™ 客户机 (6),捕捉 URL 的参数,并因此向 RCP 应用程序中内嵌的 TCP 服务器发出一个本地 TCP 调用 (7)。

该 TCP 服务器将解析来自该 URL(即,claim=25222)的参数并请求 RCP 应用程序打开相应的业务对象 (8)。

然后将在 RCP 应用程序 UI 中向用户呈现所请求的业务对象 (9)。

图 1. 使用 URL 打开 RCP 应用程序的流程控制

此过程涉及到许多步骤,但幸运的是,每个步骤都相对简单并且可以根据您的环境和应用程序进行调整。最后几步将帮助解决如何使 RCP 应用程序获得 Windows 焦点之类的细节。

通过URL打开Eclipse Rich Client Platform应用程序(2)

时间:2011-02-17 IBM Brian Fleming

解决方案详解

向 Windows 中的 URL 协议注册您的应用程序

Windows 使用注册表中的条目识别有效的 URL 协议和确定应当向哪个应用程序发送带有特定协议的请求。要使我们的 RCP 应用程序能够响应 URL,必须在 HKEY_CLASSES_ROOT hive 下创建一个键。键名必须匹配正在创建的协议。在本文中,我们将使用 “rcp://” URL 协议,因此必须把键命名为 “rcp”。该键下的默认字符串值与新协议的显示名称相对应。在 “rcp” 键下,还必须创建带有一个字符串值的 shell\open\command 键,该字符串值包含在收到 “rcp://” 请求时 Windows 应当打开的应用程序的路径。

在本文中,我们将把 Windows 指向一个批处理文件。该键的字符串值应当在其末尾附加了 %1,这将告诉 Windows 把该 URL 查询字符串传递给您的应用程序。这是我们把上下文信息(例如要打开的特定业务对象)传递给 RCP 应用程序的方法。

下面的 Windows 批处理文件代码片段将在注册表中创建相应的键,该键带有将启动记事本的 “rcp://” 协议。要自定义该脚本,请用需要使用的协议替换 rcp 的所有实例,并使用需要 Windows 执行的文

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号