CN103077023B - 基于Flex主应用制作JSP插件的方法及装置 - Google Patents

基于Flex主应用制作JSP插件的方法及装置 Download PDF

Info

Publication number
CN103077023B
CN103077023B CN201210581504.8A CN201210581504A CN103077023B CN 103077023 B CN103077023 B CN 103077023B CN 201210581504 A CN201210581504 A CN 201210581504A CN 103077023 B CN103077023 B CN 103077023B
Authority
CN
China
Prior art keywords
jsp
plug
flex
units
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210581504.8A
Other languages
English (en)
Other versions
CN103077023A (zh
Inventor
宋瑜辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201210581504.8A priority Critical patent/CN103077023B/zh
Publication of CN103077023A publication Critical patent/CN103077023A/zh
Application granted granted Critical
Publication of CN103077023B publication Critical patent/CN103077023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于Flex主应用制作JSP插件的方法及装置。其中,基于Flex主应用制作JSP插件的方法包括:为JSP插件设置插件描述文件,所述插件描述文件中包含JSP插件的配置信息;制作Flex主体程序;设置Flex主体程序与JSP插件的交互接口;设置插件页面。本发明基于Flex主应用制作JSP插件的方法及装置,在开发Flex的时候采用插件的思想,Flex完成后,用户只需根据约定的规则书写html/jsp页面即可以扩展修改整个程序的功能。Flex部分不需要做任何改动并且还可以实现运行时更新,因此降低了开发难度。

Description

基于Flex主应用制作JSP插件的方法及装置
技术领域
本发明涉及计算机领域,尤其涉及一种基于Flex主应用制作JSP插件的方法及装置。
背景技术
Flex是Adobe公司开发的支持RIA(Rich Internet Applications,富因特网应用程序)开发和部署的技术产品,主要面向企业级的应用。借助于Flex强大功能,能够开发出增强更富有交互性和标签的用户界面,Flex具有如下特点:
a)可以让普通程序员开发制作Flash成为可能;
b)界面表现能力一流;
c)RIA富客户端应用,解决了异步调用、界面无刷新、浏览器兼容性等多项难题;
d)对流媒体的支持:Flex是被公认为流媒体技术支持最好的应用;
e)平台的可用性:根据Adobe公司的说法,Flash player在全世界一半的PC机器上安装度为99.8%;
f)跨平台:Flash player能够在linux下运行,也可以在手机上运行;
g)对底层的可操作性:Flex能够调用底层的东西,比如可以调用摄像头实现视频,而且视频本身就嵌入在Flex应用中,由Flex player直接播放。
JSP(Java Server Pages)/html(Hyper text Markup Language,超文本标记语言)是一种动态网页技术标准。它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
现有的jsp和flex交互的实现都是单向的,flex生成的swf文件可以嵌入到jsp中,Flex可以读取jsp中的数据,同时jsp可以读取Flex中的数据。
插件是很多通用或专用程序提供给应用层用户进行二次开发的一种程序接口方式,其主要目的是为了提高软件的重用性和可扩展性,以延长软件的生命周期。
采用插件的思想编写Flex,在Flex中读取配置信息,展示不同的功能项,Jsp页面作为功能配置界面。如果功能项需要改动或添加,只需要修改JPS或开发JSP,Flex部分不需要任何改动。就是通过统一的程序接口来调用不同的模块,以实现不同功能的调用,用来扩充主程序的功能。通过主程序提供的接口,插件可以获取主窗口的句柄,并且在主窗口上创建自己所需的子窗口,以及响应子窗口的各种消息,插件可以进行与业务相关的各种操作,实现对主程序业务逻辑的定制。
网页之间通过js交互传递信息,Flex和网页的交互通过API完成。
Flex属于富客户端,界面之间的交互的窗口都属于一个application应用。所以要修改Flex弹出的窗口必须修改主应用的代码。Flex虽能提供丰富的用户体验,并不是所有的开发人员可以直接编写Flex应用,但开发人员却可以立即上手jsp。
发明内容
本发明所要解决的技术问题是提供一种基于Flex主应用制作JSP插件的方法及装置,降低开发难度。
为解决上述技术问题,本发明提出了一种基于Flex主应用制作JSP插件的方法,包括:
为JSP插件设置插件描述文件,所述插件描述文件中包含JSP插件的配置信息;
制作Flex主体程序;
设置Flex主体程序与JSP插件的交互接口;
设置插件页面。
进一步地,上述基于Flex主应用制作JSP插件的方法还可具有以下特点,所述设置Flex主体程序与JSP插件的交互接口包括:
Flex主体程序读取JSP插件的插件描述文件下的插件信息,通过调用函数openPluginWin打开需要新设置的html/jsp页面,通过调用函数editPluginWin打开需要编辑的html/jsp页面。
进一步地,上述基于Flex主应用制作JSP插件的方法还可具有以下特点,函数openPluginWin和函数editPluginWin的入参包括路径信息。
进一步地,上述基于Flex主应用制作JSP插件的方法还可具有以下特点,函数openPluginWin和函数editPluginWin获取参数后通过window.showModalDialog打开html/jsp页面。
进一步地,上述基于Flex主应用制作JSP插件的方法还可具有以下特点,window.showModalDialog具有两种传参方式:通过url路径传参和通过post方式传参。
为解决上述技术问题,本发明提出了一种基于Flex主应用制作JSP插件的装置,包括:
第一设置模块,用于为JSP插件设置插件描述文件,所述插件描述文件中包含JSP插件的配置信息;
制作模块,用于制作Flex主体程序;
第二设置模块,用于设置Flex主体程序与JSP插件的交互接口;
第三设置模块,用于设置插件页面。
进一步地,上述基于Flex主应用制作JSP插件的装置还可具有以下特点,所述第二设置模块包括:
读取及调用单元,用于Flex主体程序读取JSP插件的插件描述文件下的插件信息,通过调用函数openPluginWin打开需要新设置的html/jsp页面,通过调用函数editPluginWin打开需要编辑的html/jsp页面。
进一步地,上述基于Flex主应用制作JSP插件的装置还可具有以下特点,函数openPluginWin和函数editPluginWin的入参包括路径信息。
进一步地,上述基于Flex主应用制作JSP插件的装置还可具有以下特点,函数openPluginWin和函数editPluginWin获取参数后通过window.showModalDialog打开html/jsp页面。
进一步地,上述基于Flex主应用制作JSP插件的装置还可具有以下特点,window.showModalDialog具有两种传参方式:通过url路径传参和通过post方式传参。
本发明基于Flex主应用制作JSP插件的方法及装置,在开发Flex的时候采用插件的思想,Flex完成后,用户只需根据约定的规则书写html/jsp页面即可以扩展修改整个程序的功能。Flex部分不需要做任何改动并且还可以实现运行时更新,因此降低了开发难度。
附图说明
图1为本发明实施例中基于Flex主应用制作JSP插件的方法的流程图;
图2为本发明实施例中基于Flex主应用制作JSP插件的装置的结构框图。
具体实施方式
本发明的主要构思是:利用插件,开发简单的JSP页面就可以丰富修改FLEX的功能,实现Flex和JSP的交互,并实现运行时更新。
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例中基于Flex主应用制作JSP插件的方法的流程图。如图1所示,本实施例中,基于Flex主应用制作JSP插件的方法的流程可以包括如下步骤:
步骤101,为JSP插件设置插件描述文件,插件描述文件中包含JSP插件的配置信息;
各个功能可由单独的插件包来处理,所以如果修改这个功能也只需要改动这个包,如果要添加新的功能只需要实现新的功能放到插件目录下,不需要改动主程序。因为各个功能还是要跟主体程序有交互或数据传递,最终页面的处理结果会返回给主体程序,所以插件的编写就会有一定的规则。
主体程序是Flex,在应用下包含一个插件目录plugins,插件目录plugins下存放所有的插件,每个插件是插件目录plugins下的一个文件夹。插件目录plugins下还可以放置插件公用的方法。每一个插件都必须包含插件描述文件plugin.xml,插件描述文件plugin.xml描述了插件的配置信息。用户可以根据实际需求定义插件描述文件plugin.xml的格式。
以下程序段是插件描述文件plugin.xml的一种定义方式:
步骤102,制作Flex主体程序;
Flex主体程序会读取所有的插件信息,并根据插件描述文件plugin.xml来使用每个插件。比如上面描述中的pluginId节点的内容plugin.BillingUser.function就是每个插件功能的唯一标示,display-item表示在什么地方可以使用这个插件功能。<open-url>是插件用页面的路径(相对或绝对),主程序读取后根据display-item的信息决定是不是在某个地方展示插件,如果可以展示就会弹出<open-url>所配置的jsp或html页面,用户在jsp或html上进行操作,并将结果返回给Flex主体程序。当用户选择某个plugin.BillingUser.function查看时,Flex主体程序会根据plugin.xml找到响应的展示页面并将数据传递到弹出页面。
步骤103,设置Flex主体程序与JSP插件的交互接口;
Flex主体程序读取plugins下的插件信息,Flex中通过调用js函数openPluginWin打开需要新设置html/jsp页面,通过调用js函数editPluginWin打开要编辑html/jsp页面。Flex中调用JS函数要符合下面的格式。其中openPluginWin的()中是函数入参包括路径等信息。Js函数获取参数后通过window.showModalDialog打开html/jsp页面。
window.showModalDialog传参方式有两种:一种通过url,之需要把参数加到url路径上,在目标页面只需通过request.getParameter(“actionId”);获取但是这种传输方式参数不能太长;另一种通过post方式,参数作为通过var vArguments=new Object();vArguments.actionId=actionId;
vArguments作为showModalDialog的第二个参数,这样在目标页面需要通过varobj=window.dialogArguments;var actionPara=obj.actionId;获取。
在调用的时候用var returnString=window.showModalDialog等待目标页面的返回。然后再调用Flex的函数对返回值进行处理。Flex和插件的交互都是通过外面html的js实现的。
步骤104,设置插件页面。
Html/JPS通过下面的代码将数据返回给Flex主程序。
如果是编辑目标页面,在打开目标页面时要作一个标记并把已选参数传递过去。目标页面根据标记判断如果是编辑就解析并展示参数。
如果参数是通过URL传递在目标页面只需通过request.getParameter(“actionId”);即可获取并展示,如果是post方式通过下面的js代码:
本发明基于Flex主应用制作JSP插件的方法可以通过程序实现。下面给出本发明的一个示例代码:
本发明基于Flex主应用制作JSP插件的方法,在开发Flex的时候采用插件的思想,Flex完成后,用户只需根据约定的规则书写html/jsp页面即可以扩展修改整个程序的功能。Flex部分不需要做任何改动并且还可以实现运行时更新,因此降低了开发难度。
本发明还提出了一种基于Flex主应用制作JSP插件的装置,用以执行上述的基于Flex主应用制作JSP插件的方法,上述基于Flex主应用制作JSP插件的方法部分的说明均适用于本发明的基于Flex主应用制作JSP插件的装置。
图2为本发明实施例中基于Flex主应用制作JSP插件的装置的结构框图。如图2所示,本实施例中,基于Flex主应用制作JSP插件的装置可以包括第一设置模块210、制作模块220、第二设置模块230和第三设置模块240。第一设置模块210、制作模块220、第二设置模块230和第三设置模块240顺次相连。其中,第一设置模块210用于为JSP插件设置插件描述文件,插件描述文件中包含JSP插件的配置信息。制作模块220用于制作Flex主体程序。第二设置模块230用于设置Flex主体程序与JSP插件的交互接口。第三设置模块240用于设置插件页面。
本发明基于Flex主应用制作JSP插件的装置,在开发Flex的时候采用插件的思想,Flex完成后,用户只需根据约定的规则书写html/jsp页面即可以扩展修改整个程序的功能。Flex部分不需要做任何改动并且还可以实现运行时更新,因此降低了开发难度。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于Flex主应用制作JSP插件的方法,其特征在于,包括:
为JSP插件设置插件描述文件,所述插件描述文件中包含JSP插件的配置信息;
制作Flex主体程序;
设置Flex主体程序与JSP插件的交互接口,所述设置交互接口包括:
Flex主体程序读取JSP插件的插件描述文件下的插件信息,通过调用函数openPluginWin打开需要新设置的html/jsp页面,通过调用函数editPluginWin打开需要编辑的html/jsp页面;
设置插件页面。
2.根据权利要求1所述的基于Flex主应用制作JSP插件的方法,其特征在于,函数openPluginWin和函数editPluginWin的入参包括路径信息。
3.根据权利要求2所述的基于Flex主应用制作JSP插件的方法,其特征在于,函数openPluginWin和函数editPluginWin获取参数后通过window.showModalDialog打开html/jsp页面。
4.根据权利要求3所述的基于Flex主应用制作JSP插件的方法,其特征在于,window.showModalDialog具有两种传参方式:通过url路径传参和通过post方式传参。
5.一种基于Flex主应用制作JSP插件的装置,其特征在于,包括:
第一设置模块,用于为JSP插件设置插件描述文件,所述插件描述文件中包含JSP插件的配置信息;
制作模块,用于制作Flex主体程序;
第二设置模块,用于设置Flex主体程序与JSP插件的交互接口,所述第二设置模块包括:读取及调用单元,用于Flex主体程序读取JSP插件的插件描述文件下的插件信息,通过调用函数openPluginWin打开需要新设置的html/jsp页面,通过调用函数editPluginWin打开需要编辑的html/jsp页面;
第三设置模块,用于设置插件页面。
6.根据权利要求5所述的基于Flex主应用制作JSP插件的装置,其特征在于,函数openPluginWin和函数editPluginWin的入参包括路径信息。
7.根据权利要求6所述的基于Flex主应用制作JSP插件的装置,其特征在于,函数openPluginWin和函数editPluginWin获取参数后通过window.showModalDialog打开html/jsp页面。
8.根据权利要求7所述的基于Flex主应用制作JSP插件的装置,其特征在于,window.showModalDialog具有两种传参方式:通过url路径传参和通过post方式传参。
CN201210581504.8A 2012-12-27 2012-12-27 基于Flex主应用制作JSP插件的方法及装置 Active CN103077023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210581504.8A CN103077023B (zh) 2012-12-27 2012-12-27 基于Flex主应用制作JSP插件的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210581504.8A CN103077023B (zh) 2012-12-27 2012-12-27 基于Flex主应用制作JSP插件的方法及装置

Publications (2)

Publication Number Publication Date
CN103077023A CN103077023A (zh) 2013-05-01
CN103077023B true CN103077023B (zh) 2017-05-17

Family

ID=48153561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210581504.8A Active CN103077023B (zh) 2012-12-27 2012-12-27 基于Flex主应用制作JSP插件的方法及装置

Country Status (1)

Country Link
CN (1) CN103077023B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870280B (zh) * 2014-03-21 2017-05-17 上海新炬网络技术有限公司 基于flex与jsp的网页无缝结合处理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539859B (zh) * 2008-10-10 2011-12-07 华南理工大学 一种基于uCLinux的嵌入式Konqueror浏览器的插件开发方法
CN102096593B (zh) * 2011-02-16 2013-11-27 普元技术股份有限公司 基于Flex技术的Web端业务流程图形化编辑框架系统及方法
CN102609266A (zh) * 2012-02-14 2012-07-25 上海普坤信息科技有限公司 基于Flex的富客户端平台系统及其操作运行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《flex界面弹出jsp模态窗口,并向js传值》;zyn010101;《http://zyn010101.iteye.com/blog/978405》;20110329;全文 *

Also Published As

Publication number Publication date
CN103077023A (zh) 2013-05-01

Similar Documents

Publication Publication Date Title
Casteleyn et al. Engineering web applications
Patni Pro RESTful APIs
US7162687B2 (en) JSP tag libraries and web services
US6996800B2 (en) MVC (model-view-controller) based multi-modal authoring tool and development environment
Kapitsaki et al. Model-driven development of composite context-aware web applications
CN111813381A (zh) 跨平台生成可运行程序的方法、装置、介质和电子设备
WO2003081436A1 (fr) Navigateur et programme a contenu multimedia
Balasubramaniam et al. Situated software: Concepts, motivation, technology, and the future
CN100492360C (zh) 一种生成网页的方法及系统
Spillner et al. Ad-hoc usage of web services with dynvoker
Gamble et al. Monoliths to mashups: Increasing opportunistic assets
CN103077023B (zh) 基于Flex主应用制作JSP插件的方法及装置
Wilde Declarative Web 2.0
Honkala Web user interaction: a declarative approach based on XForms
JP4140878B2 (ja) マルチモーダル・ブラウジングおよび会話型マークアップ言語の実施の方法およびシステム
Layka Learn java for web development: Modern java web development
Purushothaman RESTful Java Web Services
Steiner Automatic multi language program library generation for rest apis
Kirda Engineering device-independent web services
Cañas et al. Enterprise Mashup Putting a face on the next generation global SOA
Wang et al. Enabling ordinary users mobile development with web components
Obrenović et al. Web browser accessibility using open source software
Pai Applications of Extensible Markup Language to mobile application patterns
Banavar et al. Pervasive application development: approaches and pitfalls
Preciado et al. E RICHI G MODEL-BASED WEB APPLICATIO S PRESE TATIO

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant