一种表单生成方法和装置的制作方法

文档序号:6426679阅读:183来源:国知局

专利名称::一种表单生成方法和装置的制作方法
技术领域
:本发明涉及计算机应用
技术领域
,尤其涉及一种表单生成方法和装置。
背景技术
:目前,网页表单通常利用.net中已封装好的控件或者自定义控件,在一个页面上进行固定的布局,并对某些控件做相应的验证设置,然后循环当前页面上所有的控件并获取控件的值,最后将获取的控件值通过POST方式提交到后台并保存到数据库中。传统的网页表单无法或者很难将纸质的表格的样式完整地表现出来,因而当业务需要套打证件或者需要直接打印时,会产生诸多不便。其次,传统的网页表单缺乏灵活性与通用性,加大了业务系统的开发难度,降低了开发效率。再次,传统网页表单在业务需求发生变化时,一定要重新对页面或者自定义控件进行修改,无法最大化实现代码的重用性。最后,传统网页表单在操作多任务时不能同时处理多张表单,加大了业务办理的难度。
发明内容本发明要解决的技术问题在于,针对现有技术中网页表单难以完整表现纸质表格、缺乏灵活通用性、缺乏代码重用性以及多任务时造成业务办理难度大等缺陷,提供一种能够完整表现纸质表格、灵活通用、代码重用性高以及易于处理多任务的表单生成方法和直ο本发明解决其技术问题所采用的技术方案是提供一种表单生成方法,包括Si、将表单配置文件读取为独立数据集合,并将表单模板读取为字符串;S2、一一根据所述表单配置文件中的表单元素地址在表单模板字符串中查找对应的表单元素,并在查找到对应的表单元素后,将所述表单配置文件中该表单元素对应的配置信息赋予所述表单模板中的该表单元素;S3、将得到的表单模板输出为网页表单。本发明表单生成方法中,步骤Sl中,使用类库读取所述表单配置文件和所述表单模板。本发明表单生成方法中,步骤Sl中,使用ADO.NET读取所述表单配置文件,并使用.NET类库通过流的方式读取所述表单模板。本发明表单生成方法中,步骤S3还包括接收用户输入的数据,并保存或更新到数据库中。本发明表单生成方法中,再次生成所述表单时,判断是否存在包含数据的表单模板,若是则在所述步骤Sl中直接读取所述包含数据的表单模板。本发明还提供一种表单生成装置,包括数据库,用于存储表单配置文件和表单模板;读取模块,用于将表单配置文件读取为独立数据集合,并将表单模板读取为字符串;匹对模块,用于一一根据所述表单配置文件中的表单元素地址在表单模板字符串中查找对应的表单元素,并在查找到对应的表单元素后,将所述表单配置文件中该表单元素对应的配置信息赋予所述表单模板中的该表单元素;输出模块,用于将所述匹对模块处理后的所述表单模板字符串输出为网页表单。本发明表单生成装置中,所述读取模块使用类库读取所述表单配置文件和所述表单模板。本发明表单生成装置中,所述读取模块使用ADO.NET读取所述表单配置文件,并使用.NET类库通过流的方式读取所述表单模板。本发明表单生成装置中,所述表单生成装置还包括输入模块,所述输入模块用于接收用户输入的数据,并将所述数据保存或更新到所述数据库中。本发明表单生成装置中,所述读取模块还用于在再次生成所述表单时,判断是否存在所述包含数据的表单模板,若是则直接读取所述包含数据的表单模板。本发明一种表单生成方法和装置的有益效果为通过自定义表单,使用户可以根据具体的业务需求制定出相应的表单,不仅提升了效率,而且业务内容一目了然;自定义网页表单提高了业务适用性,增强了灵活性;另外,通过表单配置文件和表单模版结合生成自定义网页表单,降低了业务系统开发的难度,并且提供了众多实现接口,实现了与业务系统完全分离的效果,此二者是完全独立的,所以在业务系统开发过程中可以重复利用表单,不需要为具体的业务编写具体的表单页面,提高效率,降低难度;而且,自定义表单与数据库的交互也是由配置实现,有很强的移植性,在不同的业务系统之间,只要表单配置文件中配置的数据库表名与字段完全符合,表单就能够将客户录入的数据写入或更新到相应的数据库表中;最后,自定义表单简化了多任务同时办理的工序,当某一任务需处理多个表单时,自定义表单可以提供分页进行一次性处理,这样不仅简化了工序,同时也提高了工作效率。下面将结合附图及实施例对本发明作进一步说明,附图中图1是根据本发明一个实施例的表单生成装置的结构示意图;图2是根据本发明另一个实施例的表单生成装置的结构示意图;图3是根据本发明一个实施例的WORD生成的表单模板的示意图;图4是根据本发明一个实施例的EXCEL生成的表单配置文件的示意图;图5是根据本发明一个实施例的操作前的表单模板的示意图;图6是根据本发明一个实施例的操作后的表单模板的示意图;图7是根据本发明一个实施例的包含数据的表单的示意图;图8是根据本发明一个实施例的表单生成方法的流程图。具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图1是根据本发明一个实施例的表单生成装置的结构示意图。在本实施例中,表单生成装置包括数据库100、读取模块200、匹对模块300和输出模块400。数据库100可以用于存储表单配置文件和表单模板。表单配置文件可以通过EXCEL生成,如图4所示。在表单配置文件中,可以包含各种配置信息,例如表单元素的布局、数据的验证、数据的来源和数据的入库配置信息等。表单模板可以通过WORD或dreamweaver生成,利用WORD生成的表单模板如图3所示。表单配置文件和表单模板都可以由用户预先写入数据库100中,或在需要时在数据库100中进行更新。表单配置文件中的控件ID与表单模板中的控件ID对应。读取模块200可以用于将表单配置文件读取为独立数据集合,并将表单模板读取为字符串。例如,读取模块200可以利用各种类库来读取表单配置文件和表单模板,类库(classlibrary)是实现各种功能的类的集合,其中类是用来描述一组具有共同属性和功能的对象的一些语句的集合。这些类库可以是面向对象类库,其中面向对象(ObjectOriented)是指在编程过程中采用封装、继承、多态等设计方法。具体地,读取模块200可以利用ADO.NET来将EXCEL表单配置文件的内容读取为一个Datakt。其中ADO.NET是一组用于和数据源进行交互的面向对象类库,该数据源可以是数据库(例如数据库100),也可以是文本文件、Excel表格或者XML文件。DataSet相当于内存中的数据库,但是它是不依赖于数据库的独立数据集合。读取模块200还可以利用.NET提供的类库通过流的方式读取表单模板,通过读取文件的方式将表单模板直接读取为一个长字符串,该字符串为表单模板文件的内容。但是,以上示例仅仅用于解释本发明,而不用于限制本发明,本领域技术人员所熟知其它常用于读取文本、ECXEL、WORD、XML、dreamweaver等文件的方法,都包含在本发明中。匹对模块300可以用于一一根据表单配置文件中的表单元素地址(或控件ID)在表单模板字符串中查找对应的表单元素(或控件),并在查找到对应的表单元素后,将表单配置文件中该表单元素对应的配置信息赋予表单模板中的该表单元素。例如,匹对模块300可以将表单配置文件中的配置信息赋值到对应类型的表单元素实体类中的属性节点,利用正则表达式匹对已填充属性的表单元素实体并替换或者赋值表单模板中对应控件的属性。图5和图6分别是根据本发明一个实施例的匹对操作前和匹对操作后的表单模板的示意图。以下是匹对操作前读取模块200对表单模板进行读取得到的表单模板字符串中关于表单头部和控件“登记类型”的一部分<!--savedfromurl=(0022)http://internet.e-mail--><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><title>土地登记审批表第2页</title>〈styletype="text/css">table{border-collapse:collapse;}td{height:3Opx;border:solidIxblack;}</style></head><body>〈center〉<divstyle="width:640px;font-size:14px;"><divstyle=Mheight:25px;M><pstyle="text-align:right;">单位〈inputtype="checkbox"name="pingfangmi"/>平方米/〈inputtype="checkbox"name="gongqing"/>公顷、万兀</p></div><div>〈tableborder="2"cellspacing="。"cellpadding="0"width="100%"style="border:solid2pxblack;"><tr><tdcolspan="2"align="center"valign="middle"style="text-align:center;width:200px;">登记类型</td><tdcolspan="3"><inputtype="text"name="dengjileixing"/></td></tr><tr>匹对模块300在DataSet循环用正则表达式将表单配置文件中的内容压入上述表单模板里对应的控件(或表单元素)后,表单模板字符串中关于表单头部和控件“登记类型”的一部分如下<!--savedfromurl=(0022)http://internet.e-mail--><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><title>土地登记审批表第2页</title>〈styletype="text/css">table{border-collapse:collapse;}td{height:30px;border:solidIxblack;}</style><linkrel='stylesheet'type='text/css'href='/xform/css/form.css'charset='gb2312'/>权利要求1.一种表单生成方法,其特征在于,包括51、将表单配置文件读取为独立数据集合,并将表单模板读取为字符串;52、一一根据所述表单配置文件中的表单元素地址在表单模板字符串中查找对应的表单元素,并在查找到对应的表单元素后,将所述表单配置文件中该表单元素对应的配置信息赋予所述表单模板中的该表单元素;53、将得到的表单模板输出为网页表单。2.根据权利要求1所述的表单生成方法,其特征在于,步骤Sl中,使用类库读取所述表单配置文件和所述表单模板。3.根据权利要求2所述的表单生成方法,其特征在于,步骤Sl中,使用ADO.NET读取所述表单配置文件,并使用.NET类库通过流的方式读取所述表单模板。4.根据权利要求1-3中任一项所述的表单生成方法,其特征在于,步骤S3还包括接收用户输入的数据,并保存或更新到数据库中。5.根据权利要求4所述的表单生成方法,其特征在于,再次生成所述表单时,判断是否存在包含数据的表单模板,若是则在所述步骤Sl中直接读取所述包含数据的表单模板。6.一种表单生成装置,其特征在于,包括数据库,用于存储表单配置文件和表单模板;读取模块,用于将表单配置文件读取为独立数据集合,并将表单模板读取为字符串;匹对模块,用于一一根据所述表单配置文件中的表单元素地址在表单模板字符串中查找对应的表单元素,并在查找到对应的表单元素后,将所述表单配置文件中该表单元素对应的配置信息赋予所述表单模板中的该表单元素;输出模块,用于将所述匹对模块处理后的所述表单模板字符串输出为网页表单。7.根据权利要求6所述的表单生成装置,其特征在于,所述读取模块使用类库读取所述表单配置文件和所述表单模板。8.根据权利要求7所述的表单生成装置,其特征在于,所述读取模块使用ADO.NET读取所述表单配置文件,并使用.NET类库通过流的方式读取所述表单模板。9.根据权利要求6-8中任一项所述的表单生成装置,其特征在于,所述表单生成装置还包括输入模块,所述输入模块用于接收用户输入的数据,并将所述数据保存或更新到所述数据库中。10.根据权利要求9所述的表单生成装置,其特征在于,所述读取模块还用于在再次生成所述表单时,判断是否存在所述包含数据的表单模板,若是则直接读取所述包含数据的表单模板。全文摘要本发明公开了一种表单生成方法和装置,其中表单生成方法包括S1、将表单配置文件读取为独立数据集合,并将表单模板读取为字符串;S2、一一根据所述表单配置文件中的表单元素地址在表单模板字符串中查找对应的表单元素,并在查找到对应的表单元素后,将所述表单配置文件中该表单元素对应的配置信息赋予所述表单模板中的该表单元素;S3、将得到的表单模板输出为网页表单。本发明生成的网页表单与纸质表格的样式完全一致,且提升了适用性,增强了灵活性,提高了效率,降低了难度,增强了移植性,简化了多任务办理工序。文档编号G06F17/30GK102201009SQ20111016715公开日2011年9月28日申请日期2011年6月21日优先权日2011年6月21日发明者张文星申请人:深圳市凯立德科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1