基于xml的web表单引擎装置及方法

文档序号:6522684阅读:241来源:国知局
基于xml的web表单引擎装置及方法【专利摘要】本发明为了提高WEB程序的用户界面开发效率,提供一种基于XML的表单引擎装置及方法,该方法提高了WEB程序的开发效率,由于使用统一的CSS,保证了用户界面的风格统。本发明的基于XML的表单引擎装置包括表单设计单元和表单运行引擎单元,表单设计单元包括元数据生成模块和表单设计模块,表单运行引擎单元包括表单装载模块和表单展示模块。【专利说明】基于XML的WEB表单引擎装置及方法[0001]【
技术领域
】:本发明涉及用于WEB程序开发中的用户界面开发,提供一种基于XML的表单引擎来生成用户界面。[0002]【
背景技术
】:随着浏览器技术的发展,在WEB程序开发中,对WEB用户界面的设计提出了越来越高的要求。传统的WEB用户界面的开发都采用源码的方式进行编程,要开发一个表单,往往需要编写大量的代码。所以,导致开发的效率低下,而且各个程序员开发出来的界面风格常常不能统一,难以达到一个美化效果。[0003]虽然某些开发工具(如:EclipSe、JBuilder等)提供了可视化的编辑器,即见即所得的方式生成界面源码(JSP、HTML、JS),但此类工具仍然是基于源代码的开发方式,要制作一个表单,基本上还需要程序员修改源码。[0004]【
发明内容】;为了解决了上述的问题,提高WEB程序的用户界面开发效率,提供一种基于XML的表单引擎装置,无需开发人员编写源码,可以通过数据模型就能设计出用户界面,保证了用户界面风格统一。[0005]本发明另一目的是提供一种基于XML的表单引擎方法,该方法提高了WEB程序的开发效率,由于使用统一的CSS,保证了用户界面的风格统。[0006]本发明的具体技术方案如下:一种基于XML的表单引擎装置,该装置包括表单设计单元和表单运行引擎单元,表单设计单元包括元数据生成模块和表单设计模块,表单运行引擎单元包括表单装载模块和表单展示模块;所述元数据生成模块,用来读取数据库中的数据模型,并将数据模型中的字段属性信息转换为XML形式的元数据文件;表单设计模块用于指定表单的结构类型,将表单划分为多个区域,将元数据文件中的字段复制到区域中,并添加用户操作的按钮;最终将表单信息组装起来;表单装载模块,用于读取以上XML格式的表单文件,解析表单内容,将XML格式的表单转换为Map对象;该模块调用通过JAVA的反射机制,实例化开发人员预先写好的JAVA类,将Map对象作为参数传递给该JAVA类,该JAVA类对Map进行修改;表单装载模块将Map对象转换为浏览器能识别的JSON对象;表单展现模块,该模块根据JSON对象所包含的内容,在浏览器中创建DOM,CSS,JavaScript这3种HTML的基本元素,最终将表单展示为浏览器中的HTML页面。[0007]所述表单设计模块包括:表单结构设计器,用于设计表单的结构类型,将表单划分为多个区域,将元数据文件中的字段放置在区域中;字段设计器,用来调整字段的显示属性;按钮设计器,用于添加用户界面上的操作按钮;表单组装器,用来将表单结构设计器、字段属性设计器和按钮设计器的信息组装起来,保存为XML格式的表单文件。[0008]所述的XML格式为:表单划分的多个区域,对应XML中的parts、part节点;每个区域包含字段信息,对应XML中的fieldS、field节点;每个区域包含按钮信息,对应XML中的buttons、button节点。[0009]所述表单装载模块包括:表单解析器,用来读取表单文件,解析表单内容,将XML格式的表单转换为JAVA对象;表单装饰器,实例化开发人员预先写好的JAVA类,将表单解析器得到的对象作为参数传递给该JAVA类进行加工,并且转换为浏览器能识别的JSON对象。[0010]所述表单展示模块包括:DOM生成器、CSS生成器、JavaScript生成器。其作用是:根据JSON对象所包含的内容,在浏览器中创建DOM,CSS,JavaScript这3种HTML的基本元素,最终将表单展示为浏览器中的HTML页面。[0011]本发明的基于XML的表单引擎方法,该方法包括以下步骤:O读取数据模型,通过JDBC接口获取得数据模型的字段属性信息;2)生成元数据文件,调用D0M4J接口将步骤I)的字段属性信息转换为XML形式的元数据文件;3)指定表单的结构类型,将表单划分为多个区域,并指定区域的类型,调用D0M4J接口读取步骤2)的元数据文件,将元数据文件中的字段信息复制到区域中;4)修改区域中的字段的属性,并且设计字段的显示属性;5)在区域中添加按钮,并且设计按钮的属性;6)调用D0M4J接口将步骤3)、4)、5)的设计信息保存为XML格式的表单文件;7)调用D0M4J接口读取步骤6)生成的表单文件,解析XML格式的文件并转换为JAVA对象(Map对象和List对象);8)调预先写好的JAVA类,将Map对象作为参数传递给该JAVA对象,JAVA对象对Map对象中的key-value键值对进行修改,并将JAVA对象转换为浏览器能识别的JSON对象:调用org.json工具,将Map对象转换为JSONObject,将List对象转换为JSONArray;9)根据JSON对象中所包含的表单结构,在HTML页面中创建DOM对象。根据表单包含的区域信息,DOM对象中创建div;根据区域包含的字段信息,在div里面创建table、label、ul、l1、input;根据区域包含的按钮信息,在div里面创建button。[0012]10)往HTML页面添加统一的样式,将WEB程序的显示风格进行全局的更新,所有用户界面均会自动地更新;11)为区域中的每个按钮生成一段JavaScript脚本,用于监听点击该按钮的事件。[0013]步骤I)所述每个字段的属性有:字段名、字段类型、字段长度、数值精度、是否可空、是否主键。[0014]步骤3)所述表单结构类型为单一结构、上下结构、上中下结构、左右结构或左中右结构。[0015]步骤4)所述字段的显示属性包括:是否可见、是否只读、显示宽度、可否排序、显示格式。[0016]步骤5)所述按钮的属性包括:是否可见、标题、提示信息。[0017]步骤6)所述转换过程为:将XML的form、part、field、button节点转换为JAVA的Map对象;将节点的属性作为Map的key-value键值对;将XML的parts、fields、buttons节点的转换为JAVA的List对象,将这些节点的子节点转换生成的Map对象按照XML的顺序加入到List对象中。[0018]Map中的key-value键值指:是否可见、是否只读、显示宽度、可否排序、显示格式、标题、提示信息。[0019]本发明具有如下优点:本发明与现有技术相比,开发人员无需编写源码,可以通过数据模型就能设计出用户界面,提高了WEB程序的开发效率。同时,由于使用统一的CSS,保证了用户界面的风格统O[0020]【专利附图】【附图说明】:图1是本发明的装置的组成示意图。[0021]图2是图1的详细结构图。[0022]图3是本发明方法的工作流程图。[0023]【具体实施方式】:为了加深对本发明的理解,下面将结合实施例和附图对本发明作进一步详述,该实施例仅用于解释本发明,并不构成对本发明保护范围的限定。[0024]1、表单设计单元中的元数据生成模块,其工作原理为:通过JDBC接口(JAVA数据库连接技术)获取得到数据库中数据模型的字段属性信息,每个字段的属性有:字段名、字段类型、字段长度、数值精度、是否可空、是否主键。调用D0M4J接口(JAVA的XML文档访问技术)将字段信息转换为XML形式的元数据文件,格式如下:<ddid=〃数据模型名称〃〉<fields>〈fieldid=〃字段名1〃字段属性…/>〈fieldid="字段名2〃字段属性…/>〈fieldid="字段名3〃字段属性…/>2、表单设计单元中的表单设计模块,其工作过程为:首先使用表单结构设计其指定表单的结构类型(单一结构、上下结构、上中下结构、左右结构、左中右结构)。表单的结构决定了表单划分为多少个区域,比如:单一结构只有I个区域,上下结构有2个区域,上中下结构有3个区域......。[0025]指定区域的类型(树型、列表型、详细型),调用D0M4J接口读取元数据生成模块的元数据文件,将元数据文件中的字段信息复制到区域中,这样在区域中就有了元数据文件中的所有字段。区域的类型决定了该区域中的字段在最终生成的用户界面展示为树形结构、表格还是详细信息。[0026]使用字段设计器,修改区域中的字段的属性,并且设计字段的显示属性:是否可见、是否只读、显示宽度、可否排序、显示格式。[0027]使用按钮设计器,在区域中添加按钮,并且设计按钮的属性:是否可见、标题、提示信息。这些按钮最终生成在用户界面中,提供用户操作。[0028]最后由表单组装器将表单结构设计器、字段设计器和按钮设计器产生的信息组装起来,调用D0M4J接口保存为XML格式的表单文件。XML的格式如下:【权利要求】1.一种基于XML的表单引擎装置,该装置包括表单设计单元和表单运行引擎单元,表单设计单元包括元数据生成模块和表单设计模块,表单运行引擎单元包括表单装载模块和表单展示模块;所述元数据生成模块,用来读取数据库中的数据模型,并将数据模型中的字段属性信息转换为XML形式的元数据文件;表单设计模块用于指定表单的结构类型,将表单划分为多个区域,将元数据文件中的字段复制到区域中,并添加用户操作的按钮;最终将表单信息组装起来,保存为XML格式的表单文件;表单装载模块,用于读取以上XML格式的表单文件,解析表单内容,将XML格式的表单转换为Map对象;表单展现模块,该模块根据JSON对象所包含的内容,在浏览器中创建DOM,CSS,JavaScript这3种HTML的基本元素,最终将表单展示为浏览器中的HTML页面。2.根据权利要求1所述基于XML的表单引擎装置,其特征是:所述表单设计模块包括:表单结构设计器,用于设计表单的结构类型,将表单划分为多个区域,将元数据文件中的字段放置在区域中;字段设计器,用来调整字段的显示属性;按钮设计器,用于添加用户界面上的操作按钮;表单组装器,用来将表单结构设计器、字段属性设计器和按钮设计器的信息组装起来,保存为XML格式的表单文件。3.根据权利要求1所述基于XML的表单引擎装置,其特征是:所述表单装载模块包括:表单解析器,用来读取表单文件,解析表单内容,将XML格式的表单转换为JAVA对象;表单装饰器,调用开发人员预先写好的程序,对JAVA对象进行加工,并且转换为浏览器能识别的JSON对象。4.根据权利要求1所述基于XML的表单引擎装置,其特征是:表单展示模块包括:D0M生成器、CSS生成器、JavaScript生成器;其作用是:根据JSON对象所包含的内容,在浏览器中创建DOM,CSS,JavaScript这3种HTML的基本元素,最终将表单展示为浏览器中的HTML页面。5.根据权利要求1所述基于XML的表单引擎装置,其特征是:所述的表单设计模块,每个表单划分为多个区域,对应XML中的parts、part节点;每个区域包含字段信息,对应XML中的fields、field节点;每个区域包含按钮信息,对应XML中的buttons、button节点。6.一种基于XML的表单引擎方法,该方法包括以下步骤:O读取数据模型,通过JDBC接口获取得数据模型的字段属性信息;2)生成元数据文件,调用D0M4J接口将步骤I)的字段属性信息转换为XML形式的元数据文件;3)指定表单的结构类型,将表单划分为多个区域,并指定区域的类型,调用D0M4J接口读取步骤2)的元数据文件,将元数据文件中的字段信息复制到区域中;4)修改区域中的字段的属性,并且设计字段的显示属性;5)在区域中添加按钮,并且设计按钮的属性;6)调用D0M4J接口将步骤3)、4)、5)的设计信息保存为XML格式的表单文件;7)调用D0M4J接口读取步骤6)生成的表单文件,解析XML格式的文件并转换为JAVA对象(Map对象和List对象);8)调预先写好的JAVA类,将Map对象作为参数传递给该JAVA对象,JAVA对象对Map对象中的key-value键值对进行修改,并将JAVA对象转换为浏览器能识别的JSON对象:调用org.json工具,将Map对象转换为JSONObject,将List对象转换为JSONArray;9)根据JSON对象中所包含的表单结构,在HTML页面中创建DOM对象;根据表单包含的区域信息,DOM对象中创建div;根据区域包含的字段信息,在div里面创建table、label、ul、l1、input;根据区域包含的按钮信息,在div里面创建button;10)往HTML页面添加统一的样式,将WEB程序的显示风格进行全局的更新,所有用户界面均会自动地更新;11)为区域中的每个按钮生成一段JavaScript脚本,用于监听点击该按钮的事件。7.根据权利要求6所述的基于XML的表单引擎方法,其特征是:步骤I)所述每个字段的属性有:字段名、字段类型、字段长度、数值精度、是否可空、是否主键。8.根据权利要求6所述的基于XML的表单引擎方法,其特征是:步骤3)所述表单结构类型为单一结构、上下结构、上中下结构、左右结构或左中右结构。9.根据权利要求6所述的基于XML的表单引擎方法,其特征是:步骤4)所述字段的显示属性包括:是否可见、是否只读、显示宽度、可否排序、显示格式。10.根据权利要求6所述的基于XML的表单引擎方法,其特征是:步骤5)所述按钮的属性包括:是否可见、标题、`提示信息;步骤6)所述转换过程为:将XML的form、part、field、button节点转换为JAVA的Map对象;将节点的属性作为Map的key-value键值对;将XML的parts、fields、buttons节点的转换为JAVA的List对象,将这些节点的子节点转换生成的Map对象按照XML的顺序加入到List对象中。【文档编号】G06F9/44GK103631597SQ201310657866【公开日】2014年3月12日申请日期:2013年12月9日优先权日:2013年12月9日【发明者】余志淼申请人:中博信息技术研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1