CN102707945A - 一种Eclipse基于布局模版的表单设计器的实现方法 - Google Patents
一种Eclipse基于布局模版的表单设计器的实现方法 Download PDFInfo
- Publication number
- CN102707945A CN102707945A CN2012101111271A CN201210111127A CN102707945A CN 102707945 A CN102707945 A CN 102707945A CN 2012101111271 A CN2012101111271 A CN 2012101111271A CN 201210111127 A CN201210111127 A CN 201210111127A CN 102707945 A CN102707945 A CN 102707945A
- Authority
- CN
- China
- Prior art keywords
- layout
- code
- masterplate
- window
- layer
- 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.)
- Pending
Links
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种Eclipse基于布局模版的表单设计器的实现方法。Eclipse灵活的GEF插件框架,使得在J2EE集成开发环境中构建企业自主的表单设计器更为简便。然而传统的基于Grid布局和Form布局等设计方式,较难解决表单控件的嵌套布局以及表单样式问题。本发明通过定义布局模版的方式,简化了嵌套布局的代码生成问题,并通过自定义标签技术,较好体现了所见即所得的表单设计效果;同时,在代码生成方面,提供了一种简易的布局算法,使得在表单上面增删元素时的代码生成更为智能。
Description
技术领域
本发明涉及信息技术领域,特别是Eclipse插件GEF表单设计器的实现。
背景技术
表单代码生成技术是Web应用开发中的常见技术。在工作流、业务开发环境等项目中,更是一个关键的组件。表单设计器,一般可以分为两种类型,HTML在线编辑器,IDE表单设计器。独立管理页面资源的使用场景下面,可以采用HTML编辑器,但更多的应用场合,需要跟后台的代码进行交互引用,所以在IDE中集成表单设计器,有更为广泛的使用价值。
由于Eclipse灵活的GEF插件框架,使得在J2EE集成开发环境中构建企业自主的表单设计器成为可能。然而传统的基于表格布局和表单布局的设计方式,较难解决嵌套的布局问题以及表单控件的样式问题。本发明通过定义布局模版的方式,简化了嵌套布局的代码生成问题,通过自定义标签技术解决所见即所得的样式问题;同时,在代码生成方面,也提供了一种简易的布局算法,使得在表单上面增删元素时的代码生成更为智能。
发明内容
本发明公开了一种Eclipse基于布局模版的表单设计器的实现方法。通过定义布局模版的方式,简化了表单设计器中嵌套布局的代码生成问题;同时,在代码生成方面,提供了一种简易的布局算法,使得在表单上面增删元素时的代码生成更为智能。
为实现上述发明目的,本发明提供一套自定义标签。包括常用的Windows表单控件的标签,如单行文本框、多行文本框、下拉选框、单选框、复选框等;同时也包括Grid、Window等容器标签。
标签的属性,设计有Plugin属性,用作记录Model在插件图形设计器的位置信息(X,Y,Width,Height),方便重新加载页面时,标签元素的位置还原,构造成相应的Model,生成Model的位置属性。这样设计和浏览页面可以使用同一个源文件。标签的属性,通过TLD文件映射到GEF的Model属性,在GEF的MVC框架中,通过事件监听的方式,触发属性修改事件,同步插件中图形和代码编辑器中控件的相应属性值。
本发明还提供了多种布局模版。布局模版的框架结构分为3层:模版层、窗口层、控件层。模版层为最顶层,是窗口层的容器,窗口层是控件层的容器。
新建表单页面时,可以选择插件内置的模版样式,自动生成对应的模版页面代码;窗口层为模版子窗口,这层支持Grid布局,表单控件可以任意拖放至窗口区域内,只要位于窗口行列表格背景的单元格内,即可通过代码生成器生成窗口层的控件标签代码,嵌套进模版层生成代码当中,完成整个页面的代码生成。控件层的代码,对应表单控件,设计样式对应JSP标签样式,达到所见即所得的效果。
本发明还提供页面代码生成器插件。代码生成通过Velocity模版引擎实现。模版、窗口、控件层的代码均定义了自己的模版文件。通过GEF的Model输入,控制页面代码的生成。
本发明还提供布局切换功能。布局切换指,在窗口层可以动态选择修改窗口的布局样式,支持表格列数设置、背景设置、行高设计。布局切换之后,通过代码生成器重新生成代码,该窗口区域内的控件代码,自动填写进新的窗口布局单元格内;
本发明还提供自定义模块扩展。模版与窗口容器在设计器视图中的显示和源代码视图中的显示内容,都由资源配置文件进行控制。所以,新增样式可以通过添加新的模版资源文件进行扩展。扩展的模版窗口的样式,采用统一的界面风格。
由上述方案可以看出,本发明中通过自定义标签确定设计器控件的样式;通过布局代码模版生成嵌套窗口布局;通过在窗口内表格排序算法生成子窗口布局代码的方式,集合填充到模版窗口代码框的方式,完成整个页面的代码生成,设计者,只需要调整模版的窗口大小,往子窗口中拖放入控件的方式,就可以完成复杂布局的表单设计和代码生成,操作简便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。
图1为本发明实施例中系统结构示意图;
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步的说明。
实施例一,参见图1。
本发明提供一种基于布局模版的表单设计器的实现,其开发实施过程如下:
1)通过向导页面,选择表单设计时使用的布局模版,向导页面提供了布局模版效果图的参数图例,方便用户进行选择。
2)选择完布局模版之后,系统自动完成设计视图的布局样式,构建GEF模型,并生成源代码视图的布局模版代码。
3)用户可以拖拉调整布局子窗口大小,适合布放窗口内控件。
4)拖放各表单控件元素到各子窗口的表格布局单元格内,设置控件属性。
5)保存修改。此时可切换到源代码视图查看生成后的html代码。
6)启动Tomcat服务器,插件设计器切换到预览视图,查看显示效果。
由上述方案可以看出,本发明中通过自定义标签确定设计器控件的样式;通过布局代码模版生成嵌套窗口布局;通过在窗口内表格排序算法生成子窗口布局代码的方式,集合填充到模版窗口代码框的方式,完成整个页面的代码生成,设计者,只需要调整模版的窗口大小,往子窗口中拖放入控件的方式,就可以完成复杂布局的表单设计和代码生成,操作简便。
Claims (5)
1.自定义标签样式,包括常用的Windows表单控件的标签,如单行文本框、多行文本框、下拉选框、单选框、复选框等;同时也包括Grid、Window等容器标签;
标签的属性,设计有Plugin属性,用作记录Model在插件图形设计器的位置信息(X,Y,Width,Height),方便重新加载页面时,标签元素的位置还原,构造相应的Model,生成Model的位置属性。这样设计和浏览页面可以使用同一个源代码文件。
2.布局模版,布局模版的框架结构分为3层:模版层、窗口层、控件层。模版层为最顶层,是窗口层的容器,窗口层是控件层的容器;
新建表单页面时,可以选择插件内置的模版样式,自动生成对应的模版页面代码;窗口层为模版子区域,这层支持Grid布局,表单控件可以任意放置在窗口区域,通过代码生成器生成窗口层的控件标签代码,嵌套进模版层生成代码当中,完成整个页面的代码生成。控件层的代码,对应表单控件,插件设计样式对应JSP标签样式,达到所见即所得的效果。
3.代码生成器,代码生成通过Velocity模版引擎实现,模版、窗口、控件层的代码均定义了自己的模版文件,通过GEF的Model输入,控制页面代码的生成。
4.布局切换功能,布局切换指,在窗口层可以动态选择修改窗口的布局样式,支持表格列数设置、背景设置、行高设计。布局切换之后,通过代码生成器重新生成代码,该窗口区域内的控件代码,自动填写进新的窗口布局单元格内。
5.自定义模块扩展,模版与窗口容器在设计器view中的显示和源代码视图中的显示内容,都由资源配置文件进行控制。所以,新增样式可以通过添加新的模版资源文件进行扩展。扩展的模版窗口的样式,采用统一的界面风格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101111271A CN102707945A (zh) | 2012-04-11 | 2012-04-11 | 一种Eclipse基于布局模版的表单设计器的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101111271A CN102707945A (zh) | 2012-04-11 | 2012-04-11 | 一种Eclipse基于布局模版的表单设计器的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102707945A true CN102707945A (zh) | 2012-10-03 |
Family
ID=46900769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101111271A Pending CN102707945A (zh) | 2012-04-11 | 2012-04-11 | 一种Eclipse基于布局模版的表单设计器的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102707945A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760440A (zh) * | 2016-02-02 | 2016-07-13 | 广州市科南软件有限公司 | 在线表单设计器的实现方法及其系统 |
CN106502973A (zh) * | 2016-09-19 | 2017-03-15 | 济南浪潮高新科技投资发展有限公司 | 一种表单设计器控件的通用描述方法 |
CN106951248A (zh) * | 2017-03-16 | 2017-07-14 | 网易(杭州)网络有限公司 | 添加代码的方法、装置和可读存储介质 |
CN103631865B (zh) * | 2013-11-01 | 2017-09-22 | 北京奇虎科技有限公司 | 网页生成方法及设备 |
CN107807913A (zh) * | 2017-11-16 | 2018-03-16 | 金航数码科技有限责任公司 | 一种基于web的电子表单设计系统及方法 |
CN109522508A (zh) * | 2018-11-27 | 2019-03-26 | 河南思维轨道交通技术研究院有限公司 | 网页编辑方法、编辑器构建方法、装置及电子设备 |
CN110377281A (zh) * | 2019-05-31 | 2019-10-25 | 江苏联盟信息工程有限公司 | 一种动态生成html+css布局的方法及装置 |
CN110427187A (zh) * | 2019-07-31 | 2019-11-08 | 山东浪潮通软信息科技有限公司 | 一种基于html自定义属性解析的表单可视化布局方法 |
CN110825367A (zh) * | 2019-10-15 | 2020-02-21 | 思创数码科技股份有限公司 | 一种适用于龙芯cpu环境下的表单设计器的设计方法 |
-
2012
- 2012-04-11 CN CN2012101111271A patent/CN102707945A/zh active Pending
Non-Patent Citations (4)
Title |
---|
刘佳: "基于GEF的可视化编辑器开发", 《软件导刊》 * |
张文毅,尤晋元: "自动生成GEF图形编辑器的研究与实现", 《计算机工程》 * |
李佳丽,尚立宏: "基于GEF的MiniGUI可视化开发工具设计", 《单片机与嵌入式系统应用》 * |
詹鹏飞: "基于GMF的Web快速开发工具的研究与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631865B (zh) * | 2013-11-01 | 2017-09-22 | 北京奇虎科技有限公司 | 网页生成方法及设备 |
CN105760440A (zh) * | 2016-02-02 | 2016-07-13 | 广州市科南软件有限公司 | 在线表单设计器的实现方法及其系统 |
CN105760440B (zh) * | 2016-02-02 | 2019-06-04 | 广州市科南软件有限公司 | 在线表单设计器的实现方法及其系统 |
CN106502973A (zh) * | 2016-09-19 | 2017-03-15 | 济南浪潮高新科技投资发展有限公司 | 一种表单设计器控件的通用描述方法 |
CN106951248A (zh) * | 2017-03-16 | 2017-07-14 | 网易(杭州)网络有限公司 | 添加代码的方法、装置和可读存储介质 |
CN107807913A (zh) * | 2017-11-16 | 2018-03-16 | 金航数码科技有限责任公司 | 一种基于web的电子表单设计系统及方法 |
CN109522508A (zh) * | 2018-11-27 | 2019-03-26 | 河南思维轨道交通技术研究院有限公司 | 网页编辑方法、编辑器构建方法、装置及电子设备 |
CN110377281A (zh) * | 2019-05-31 | 2019-10-25 | 江苏联盟信息工程有限公司 | 一种动态生成html+css布局的方法及装置 |
CN110427187A (zh) * | 2019-07-31 | 2019-11-08 | 山东浪潮通软信息科技有限公司 | 一种基于html自定义属性解析的表单可视化布局方法 |
CN110825367A (zh) * | 2019-10-15 | 2020-02-21 | 思创数码科技股份有限公司 | 一种适用于龙芯cpu环境下的表单设计器的设计方法 |
CN110825367B (zh) * | 2019-10-15 | 2023-06-16 | 思创数码科技股份有限公司 | 一种适用于龙芯cpu环境下的表单设计器的设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102707945A (zh) | 一种Eclipse基于布局模版的表单设计器的实现方法 | |
CN103955366B (zh) | 一种可视化网站模版的制作方法 | |
CN102750148B (zh) | 一种媒体信息显示方法及装置 | |
CN110058856A (zh) | 页面配置方法及装置 | |
CN104239284A (zh) | 一种图文自动排版的方法和装置 | |
CN104090979A (zh) | 一种网页编辑方法及装置 | |
CN103677789A (zh) | 基于grid组件的列表数据展现方法及系统 | |
CN102479224A (zh) | 一种编辑应用网页的方法及应用网页编辑装置 | |
CN102654833A (zh) | 一种手机应用开发方法和系统 | |
CN102830972A (zh) | 互联网浏览器的多网页浏览装置 | |
CN102662921B (zh) | 一种文档处理方法、装置和编辑器 | |
CN110427187A (zh) | 一种基于html自定义属性解析的表单可视化布局方法 | |
CN103793135A (zh) | 用户界面树形结构显示方法及系统 | |
CN104503769B (zh) | 一种基于xml配置文件的字符点阵液晶界面实现方法 | |
US20150074519A1 (en) | Method and apparatus of controlling page element | |
CN103176954A (zh) | 一种基于HTML5 canvas的数学公式显示方法及系统 | |
CN103020237A (zh) | 一种网页更新方法和装置 | |
CN102222148A (zh) | 自动生成三维装配图的明细表的方法及装置 | |
CN103838576A (zh) | 网站创建方法和装置 | |
CN106610826A (zh) | 在线场景应用的制作方法及装置 | |
CN102157003A (zh) | 数字环境下的地图注释性标注自动配置方法 | |
CN108021310A (zh) | 手机页面构建方法和装置 | |
CN110941428B (zh) | 一种网站创建方法和装置 | |
CN102509510A (zh) | 一种电子地图图例内容的交互式自动更新方法 | |
CN109213480A (zh) | 一种开发后台管理页面的方法、存储介质、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121003 |