制作一个简单插件.doc_第1页
制作一个简单插件.doc_第2页
制作一个简单插件.doc_第3页
制作一个简单插件.doc_第4页
制作一个简单插件.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

制作一个简单插件1制作一个简单插件1.1新建插件学习目的:手写一个插件,包含菜单,找个扩展点和扩展项的例子。新建一个扩展名为plugin的文件,用记事本或者编辑器打开,写入以下代码:com.zving.test演示插件com.zving.test.TestZving_TxcZvingSoft1.0Democom.zving.frameworkJAVA/com/zving/test/Test.javaJAVA/plugins/com.zving.test.plugin插件文件内容中各属性解释如下:插件基本介绍:标识id:com.zving.test名称name:演示插件主类class:com.zving.test.Test插件作者author:Zving_Txc插件的提供商provider:ZvingSoft插件的版本号version:1.0插件的简述description:Demo插件的依赖关系required:依然插件1:com.zving.framework,版本号为2.0插件包含的文件files:Test.java、com.zving.test.plugin。插件文件在Eclipse中的视图如下:编写插件的主类代码如下:publicclassTestextendsAbstractPluginpublicvoidstart()throwsPluginExceptionLogU(=启动演示插件=);publicvoidstop()throwsPluginExceptionLogU(=停止演示插件=);完成上述过程以后,将插件相关的文件编译放入系统中,启动系统即可看到控制台输出信息界面:并且我们可以在系统的插件管理菜单下看到演示插件图标,如下图:1.2插件添加菜单打开Eclipse插件的配置文件界面,选中左下角的menu菜单,点击menu菜单页面的add按钮,添加一个插件菜单,并且填写相关信息,如下图:添加菜单必须的文件路径到插件配置项中,如下图:也可以使用记事本或者文本编辑器打开插件配置文件,在依赖关系属性required后面添加以下配置代码:PluginDemoIcons/icon001a1.pngDemo9999演示菜单BackendTest/HelloWorld.zhtml并且在资源文件属性Files下添加些文件的配置,如下:JAVA/com/zving/test/ui/HelloWorldUI.javaUI/Test/HelloWorld.zhtml以上代码解释如下:菜单id:PluginDemo菜单图标icon:Icons/icon001a1.png菜单的简述description:description:Demo菜单父级菜单parentId:如果没有则为一级菜单菜单的排序号Order:9999菜单的名称name:演示菜单菜单类型type:后台菜单菜单的URL:Test/HelloWorld.zhtml,如果菜单下有子菜单,请空缺启动系统应用将看到插件的菜单页面如下:1.3插件添加扩展点1.3.1类扩展使用Eclipse打开插件配置界面,选择左下角“extend”菜单,点击页面中的“add”按钮添加一个扩展点,注意,类扩展,在“isUIextendpoint”选项上不要选择,并且配置相关信息,如下图:点“Actionsuperclass”创建扩展点类,代码如下:publicabstractclassTestExtendPointimplementsIExtendActionpublicfinalstaticStringExtendPointID=com.zving.test.extend.TestExtendPoint;publicObjectexecute(Objectargs)throwsExtendExceptionStringstr1=(String)args0;execute(str1);returnnull;publicabstractvoidexecute(Stringstr1);注意扩展点中的变量ExtendPointID应该与插件配置文件的ID是一致的。*扩展点插件配置也可以使用记事本或者文本编辑器打开插件配置文件加入以下代码:com.zving.test.extend.TestExtendPointcom.zving.test.extend.TestExtendPointfalse扩展点添加后,可以在需要扩展的类中添加此扩展点,以HelloWorld.java为例添加扩展点如下:publicclassHelloWorldUIextendsUIFacadePriv(login=false)publicvoidsendMsg()Stringmsg=$V(Msg);Response.setSuccessMessage(Congratulations!Message:+msg+);ExtendManager.invoke(TestExtendPoint.ExtendPointID,newObjectmsg);在扩展点上增加扩展行为就可以执行所要进行业务逻辑打开插件配置文件添加一个扩展行为,如下图所示:请注意,插件的配置项ID:com.zving.test.extend.TestExtendPoint一般都和类的包路径保持一致。*也可以使用记事本或者文本编辑器打开插件文件添加如下配置项:com.zving.test.extend.TestExtendPointActioncom.zving.test.extend.TestExtendPointActioncom.zving.test.extend.TestExtendPoint点击插件配置界面的“Class”添加对应的执行类publicclassTestExtendPointActionextendsTestExtendPointOverridepublicvoidexecute(Stringstr1)LogU(收到前台发来的消息如下:);LogU(str1);以上类扩展过程完成之后,我们执行前台页面,可以看到控制台输出的信息:3.1.2UI扩展跟创建类扩展类似,创建扩展点,不同的是,这里选择“isUIextendpoint”选项。如下图:*也使用记事本或者文本编辑器打开插件文件,加入一下代码:com.zving.test.extend.TestExtendUIPointtrue打开插件配置文件类似于类扩展一样添加一个扩展行为,如下图所示:*也使用记事本或者文本编辑器打开插件文件,加入一下代码:com.zving.test.extend.TestExtendUIPointActioncom.zving.test.extend.TestExtendUIPointActioncom.zving.test.extend.TestExtendUIPoint点击“Class”创建扩展行为类,代码如下:publicclassTestExtendUIPointActionextendsJSPExtendActionOverridepublicvoidexecute(JSPContextcontext)throwsExtendExceptionif(include.equals(context.getRequest().getString(Type)context.include(Test/TestExtendUI.zhtml);elsecontext.write(扩展点信息直接字符输出);上述代码表示在指定的页面上输出类中指定的信息或者zhtml(Test/TestExtendUI.zhtml)文件内容,其中TestExtendUI.zhtml的内容是:扩展点信息输出以下指定在HelloWorld.zhtml页面中输出,代码如下:发送系统运行后的效果:直接输出字符串信息:输出包含页面内容,注意访问url后面加上参数Type=include1.4插件添加扩展服务在插件配置文件中添加扩展服务配置Itemsupertype链接创建扩展服务项接口,Serviceclass链接创建扩展服务类。扩展服务类:publicclassTestServiceextendsAbstractExtendServicepublicstaticTestServicegetInstance()TestServicets=(TestService)findInstance(TestService.class);returnts;扩展服务项接口:添加扩展服务项:2Class链接添加扩展服务项类2.1创建测试类2.2测试结果访

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论