CN106990970B - 基于mvc动态页面生成方法及系统 - Google Patents

基于mvc动态页面生成方法及系统 Download PDF

Info

Publication number
CN106990970B
CN106990970B CN201710221512.4A CN201710221512A CN106990970B CN 106990970 B CN106990970 B CN 106990970B CN 201710221512 A CN201710221512 A CN 201710221512A CN 106990970 B CN106990970 B CN 106990970B
Authority
CN
China
Prior art keywords
page
component
data
user
user input
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
CN201710221512.4A
Other languages
English (en)
Other versions
CN106990970A (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.)
Suzhou Jinweizhi Biological Technology Co ltd
Original Assignee
Suzhou Jinweizhi Biological 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 Suzhou Jinweizhi Biological Technology Co ltd filed Critical Suzhou Jinweizhi Biological Technology Co ltd
Priority to CN201710221512.4A priority Critical patent/CN106990970B/zh
Publication of CN106990970A publication Critical patent/CN106990970A/zh
Application granted granted Critical
Publication of CN106990970B publication Critical patent/CN106990970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Abstract

本发明公开了基于MVC动态页面生成方法及系统,该方法包括以下步骤:S1:元数据解析组件获取表单页面中每个表单组件所需要的元数据并根据表单组件以及对应的元数据生成表单页面显示给用户;S2:用户输入读取组件接收每个表单组件的用户输入数据并存储于数据库中;S3:页面渲染组件根据每个表单组件以及对应的用户输入数据对表单页面进行调整;S4:信息采集组件对每个表单组件以及对应的用户输入数据进行解析处理后生成结果数据,并根据结果数据以及对应的表单组件生成新的表单页面返回给用户显示;其中S2和S3没有先后顺序。本发明实现了动态页面的生成,满足了NGS的发展需求。

Description

基于MVC动态页面生成方法及系统
技术领域
本发明涉及页面生成,尤其涉及一种基于MVC的动态页面生成方法。
背景技术
为了满足Next Generation Sequencing(简称NGS,下一代测序技术)日新月异的业务发展需求,在向用户提供页面的同时,也需要根据实际的需求进行动态生成。而现有技术中向用户提供的页面一般都是固定的,每一次变化时,都需要对表单页面进行重新设计,但是不同时期的页面生成的需求也不同,而且用户输入的方式不仅仅只有文本输入,还有其他的各个输入方式,这就导致了页面的更新非常麻烦,不利于用户使用以及用户体验。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供了一种基于MVC动态页面生成方法,其能够解决现有技术中向用户提供的页面不能动态更新或更新麻烦的问题。
本发明的目的之一采用以下技术方案实现:
基于MVC动态页面生成方法,包括以下步骤:
S1:元数据解析组件获取表单页面中每个表单组件所需要的元数据并根据表单组件以及对应的元数据生成表单页面显示给用户;
S2:用户输入读取组件接收每个表单组件的用户输入数据并存储于数据库中;
S3:页面渲染组件根据每个表单组件以及对应的用户输入数据对表单页面进行调整;
S4:信息采集组件对每个表单组件以及对应的用户输入数据进行解析处理后生成结果数据,并根据结果数据以及对应的表单组件生成新的表单页面返回给用户显示;
其中S2和S3执行没有先后顺序。
优选地,当生成表单时,还包括S11;资源准备组件获取用户语言、当前显示语言以及语言程序集,并根据语言程序集将表单页面的文字转换为用户语言的文字。
优选地,所述S11之前还包括S12:动态程序集组件获取加载第三方语言程序集并将其发送给资源准备组件,使得资源准备组件根据第三方语言程序集执行对应的操作。
优选地,元数据包括静态数据和动态数据,静态数据存储于数据库中,动态数据存储于XML文件中。
为了克服现有技术的不足,本发明的目的之二在于提供了一种基于MVC动态页面生成系统,其能够解决现有技术中向用户提供的页面不能动态更新或更新麻烦的问题。
本发明的目的之二采用以下技术方案实现:
基于MVC动态页面生成系统,包括:
生成页面模块,设于元数据解析组件,用于获取表单页面中每个表单组件所需要的元数据并根据表单组件以及对应的元数据生成表单页面显示给用户;
获取数据模块,设于用户输入读取组件,用于接收每个表单组件的用户输入数据并存储于数据库中;
调整模块,设于页面渲染组件,用于根据每个表单组件以及对应的用户输入数据对表单页面进行调整;
处理模块,设于信息采集组件,用于对每个表单组件以及对应的用户输入数据进行解析处理后生成结果数据,并根据结果数据以及对应的表单组件生成新的表单页面返回给用户显示。
优选地,当生成表单页面时,还包括转换模块,设于资源准备组件,用于获取用户语言、当前显示语言以及语言程序集,并根据语言程序集将表单页面的文字转换为用户语言的文字。
优选地,所述转换模块之前还包括加载模块,设于动态程序集组件,用于获取加载第三方语言程序集并将其发送给资源准备组件,使得资源准备组件根据第三方语言程序集执行对应的操作。
优选地,元数据包括静态数据和动态数据,静态数据存储于数据库中,动态数据存储于XML文件中。
相比现有技术,本发明的有益效果在于:通过对于表单中的表单组件的元数据进行定义并将其分别存储数据库以及XML文件中,在生成页面时根据具体的需求动态生成页面,大大降低了页面更新的复杂性,也满足了现有的NGS日新月异的业务发展需求。
附图说明
图1为本发明提供的一实施例的系统模块图;
图2为本发明提供的基于MVC动态页面生成方法流程图;
图3为本发明提供的基于MVC动态页面生成系统模块图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
如图1所示,本发明是利用MVC(全称为Model View Controller)技术、反射技术以及XML技术等来实现订单需求动态化生成以及动态生成表单页面,极大地提高了用户信息反馈和收集数据的速度。在生成动态表单页面时,首先需要在系统中对表单页面中的每个表单组件的元数据进行以下定义:
元数据包括两种类型,一种是静态数据,包括静态字段和表单属性信息,另外一种是动态数据,包括动态时间和活动事件等;其中静态数据存储在SQL Server关系数据库中,而动态数据存储在XML文件中。优选地,根据具体的情况,还可以将部分XML文件中的数据经过序列化处理后存储于SQL Server关系数据库中,有利于数据的存储。
通过需求调研和研究,对于NGS需求的采集,支持用户的输入方式有很多,比如文本输入、日期选择、单选框、多选框、富文本输入框、文本上传等各种表单组件。而静态数据就是指的这些表单组件的原始数据、属性数据等。比如,对于多选框,其设置的多选的原始数据内容是北京、上海、广州,对于每个多选框的属性数据包括多选框的尺寸、大小、样式等等。为了能够提供给用户输入的界面,则就必须首先对用户输入方式的每个表单组件进行数据定义。对于静态数据可以包括字段类型,所属表单、字段输入约束(如长度限制、类型限制等)、字段显示提示等信息,这些信息是存储于数据库中的。由于业务发展需求的变化,某些表单组件的属性数据可能要发生变化,而现有的一般均是数据与组件均存储于一表单页面中,如果需要修改数据,就需要对整个表单页面进行修改,从而增大开发人员的工作量。而在本发明中,只需要对存储数据库中的数据值“北京”“广州”等进行修改即可,大大减少了工作人员的工作量。
而动态数据,比如字段联动、表单提交触发事件、事件处理等,比如,对于一按钮,鼠标单击、双击等触发的事件处理、数据的存储、处理等;动态数据是存储XML文件中。另外,本发明中所有存储元数据的XML文件,均依照W3C标准格式,以utf-16的编码格式存储;每个XML文件单独存储。
比如,在表单设计时,考虑到表单与其他页面的交互,在配置节点中通过QueryStrings集合节点来定义页面的输入参数。而FormDefaultValues节点则定义了各个表单字段的默认值、Actions节点定义页面提交前、提交的事件处理程序(程序集)、NextActions节点定义页面提交后的事件处理程序。其中,QueryStrings、FormDefaultValues、Actions、NextActions节点是现有技术中已经存在的类,并不是本发明的发明点。
再比如,对于字段联动、样式变化等自主行为的定义的设计:Sources主要定义了来源数据的属性变化、Targets节点定义了目标字段、而Setter则会指定受影响的输入控件/字段的属性、值或者样式做出的更改。比如,当数据源大于、等于或小于设置的值时,目标输入组件的属性或样式会相应地改变。一般来说,这些自主行为包括联动、限制输入、隐藏或显示、样式变化或其他复杂行为。
该基于MVC动态页面生成方法应用于一系统,该系统不仅存储上述元数据的定义,还设置了元数据解析组件,元数据组件用于生成表单页面显示给用户。也即是,在完成每个表单组件的元数据设计后,在页面生成的过程中,通过元数据解析组件用于读取数据库以及XML文件中存储的元数据并将其转换为可执行的代码,并装载到内存中,将元数据与对应的表单组件进行绑定,通过MVC技术动态生成对应的页面。该元数据解析组件采用了序列化、反序列化以及反射技术等技术,将元数据从数据库、XML文件中读取出来,并将其元数据与对应的对象和页面变量进行绑定,从而生成表单对象,最终生成对应的表单页面。
优选地,系统还包括资源准备组件。考虑到NGS的发展需求,向用户提供的输入界面可能会支持多地区多语言。因此,本发明通过资源准备组件来调用系统中已经存在的语言程序集并加载,从而将当前用户的语言转换为用户所需要的语言。另外,本发明还包括动态程序集加载组件,该表单组件是用于调用外部提供的动态程序集。比如,当前用户所需要的语言为日语,但是系统中并不支持日语,则可以通过加载第三方语言程序集来实现对日语的支持。此时,动态程序集加载组件用于加载第三方语言程序集,从而实现对语言的转换。也即是,该系统实现了表单页面语言转换的功能,可以支持多地区多语言。本发明中多语言支持采用Cookie和客户端浏览器语言来判断当前用户的语言,并根据语言从数据中读取对应的显示字符流显示在用户的解密上。可利用Razor技术,采用T关键字来进行多语言的转换。
优选地,系统还包括页面渲染组件和用户输入读取组件,用户输入读取组件是用于获取用户输入数据并存储的,而页面渲染组件是用于根据用户输入数据对表单页面属性进行调整的,具体为根据表单组件的属性数据的变化来调整整个表单页面。比如,采用了MVC中的CustomBinder类,将页面对象进行序列化和反序列化来进行客户端和服务器之间的数据和操作的交互。也即是,用户通过系统提供的页面来输入对应的数据,该用户输入读取组件用于读取用户输入的数据,并根据数据以及对应的表单组件来判断客户端与服务器之间的数据交互,比如存储、计算、验证等。比如文本输入,用户输入的文本较多时,文本输入框可以根据输入数据的多少进行变化其大小,则通过页面渲染组件来实现的。
系统还包括信息采集组件,用于接收用户通过页面输入的数据,并根据表单组件的元数据定义将其转换为对应的结果数据,并将结果数据与对应的表单组件进行绑定,通过采用MVC技术重新生成页面,并返回到客户端,供用户查看。另外,该信息采集组件还将处理后的结果数据存储于数据库中。
如图2所示,本发明提供了一种基于MVC动态页面生成方法,包括以下步骤:
S1:元数据解析组件获取表单页面中每个表单组件所需要的元数据并根据表单组件以及对应的元数据生成表单页面显示给用户。其中,每个表单组件所需要的元数据是通过系统预先进行自定义得到,当需要向用户提供输入界面时,通过动态生成页面的方式来向用户提供输入界面。现有技术中,一般这种用户输入界面中的表单是固定不便的,如果需要修改就需要对整个页面进行调整,这样对于现有NGS不断更新的需求来来说,更新操作复杂。通过本发明将表单页面中的每个表单组件的数据定义均存储数据库或XML文件中,当需要生成表单页面时,直接根据需求来动态生成用户所需要的表单页面即可。这样就解决了现有技术中由于输入界面的固定,而不能够动态更新的问题。
S2:用户输入读取组件来接收每个表单组件的用户输入数据并存储数据库中。用户在对应的表单组件上输入对应的数据后,通过用户读取表单组件进行采集数据,并将用户输入数据存储数据库中。
S3:页面渲染表单组件根据每个表单组件以及对应的用户输入数据对表单页面进行调整。例如,在实际的使用时,对于多行文本输入框,针对用户输入文字的多少,其文本框的大小不同,则表单页面的属性数据也会随着用户输入的数据进行相对应的调整,从而能够给用户更好的体验。
S4:信息采集表单组件对每个表单组件以及对应的用户输入数据进行解析处理后生成结果数据,并根据结果数据以及对应的表单组件生成新的表单页面返回给用户显示。当用户完成输入数据后,由于表单组件与表单组件之间的字段联动、事件等的存在,需要对输入的数据以及表单组件的定义来解析处理,并得到每个表单组件的结果数据,然后将结果数据与对应的表单组件绑定,生成新的表单返回给用户显示,供用户查看。
优选地,所述S2和S3之间没有先后顺序,比如在实际的使用当中,用户输入一个表单组件的数据时,其保存数据与调整表单组件的属性之间是同时发生的,没有执行的先后顺序。
优选地,当生成表单时,还包括S11;资源准备组件获取用户语言、当前显示语言以及语言程序集,并根据语言程序集将表单页面的文字转换为用户语言的文字。
另外,S11之前还包括S12:动态程序集组件第三方语言程序集并将其发送给资源准备组件。也即是说,当系统不支持某一语言时,可通过调用第三方语言程序集来加载到系统中,从而使得表单页面中的文字为用户所需要的语言文字。
本发明将表单组件的元数据通过预先设计并存储于数据库以及XML文件中,然后根据具体的需求进行动态生成页面,从而实现了页面动态更新的功能,满足了NGS日新月异的业务需求。而对于本发明中所涉及到的序列化、反序列化以及反射技术等均是现有比较成熟的技术,并不是本发明的发明点。
如图3所示,本发明提供了一种基于MVC动态页面生成系统,包括:
生成页面模块,设于元数据解析组件,用于获取表单页面中每个表单组件所需要的元数据并根据表单组件以及对应的元数据生成表单页面显示给用户;
获取数据模块,设于用户输入读取组件,用于接收每个表单组件的用户输入数据并存储于数据库中;
调整模块,设于页面渲染组件,用于根据每个表单组件以及对应的用户输入数据对表单页面进行调整;
处理模块,设于信息采集组件,用于对每个表单组件以及对应的用户输入数据进行解析处理后生成结果数据,并根据结果数据以及对应的表单组件生成新的表单页面返回给用户显示。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

Claims (6)

1.基于MVC动态页面生成方法,其特征在于,包括以下步骤:
S1:元数据解析组件获取表单页面中每个表单组件所需要的元数据并根据表单组件以及对应的元数据生成表单页面显示给用户;
S2:用户输入读取组件接收每个表单组件的用户输入数据并存储于数据库中;
S3:页面渲染组件根据每个表单组件以及对应的用户输入数据对表单页面进行调整;
S4:信息采集组件对每个表单组件以及对应的用户输入数据进行解析处理后生成结果数据,并根据结果数据以及对应的表单组件生成新的表单页面返回给用户显示;
其中S2和S3执行没有先后顺序;元数据包括静态数据和动态数据,静态数据存储于数据库中,动态数据存储于XML文件中。
2.如权利要求1所述基于MVC动态页面生成方法,其特征在于,当生成表单页面时,还包括S11;资源准备组件获取用户语言、当前显示语言以及语言程序集,并根据语言程序集将表单页面的文字转换为用户语言的文字。
3.如权利要求2所述基于MVC动态页面生成方法,其特征在于,所述S11之前还包括S12:动态程序集组件获取加载第三方语言程序集并将其发送给资源准备组件,使得资源准备组件根据第三方语言程序集执行对应的操作。
4.基于MVC动态页面生成系统,其特征在于,包括:
生成页面模块,设于元数据解析组件,用于获取表单页面中每个表单组件所需要的元数据并根据表单组件以及对应的元数据生成表单页面显示给用户;
获取数据模块,设于用户输入读取组件,用于接收每个表单组件的用户输入数据并存储于数据库中;
调整模块,设于页面渲染组件,用于根据每个表单组件以及对应的用户输入数据对表单页面进行调整;
处理模块,设于信息采集组件,用于对每个表单组件以及对应的用户输入数据进行解析处理后生成结果数据,并根据结果数据以及对应的表单组件生成新的表单页面返回给用户显示;元数据包括静态数据和动态数据,静态数据存储于数据库中,动态数据存储于XML文件中。
5.如权利要求4所述基于MVC动态页面生成系统,其特征在于,当生成表单页面时,还包括转换模块,设于资源准备组件,用于获取用户语言、当前显示语言以及语言程序集,并根据语言程序集将表单页面的文字转换为用户语言的文字。
6.如权利要求5所述基于MVC动态页面生成系统,其特征在于,所述转换模块之前还包括加载模块,设于动态程序集组件,用于获取加载第三方语言程序集并将其发送给资源准备组件,使得资源准备组件根据第三方语言程序集执行对应的操作。
CN201710221512.4A 2017-04-06 2017-04-06 基于mvc动态页面生成方法及系统 Active CN106990970B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710221512.4A CN106990970B (zh) 2017-04-06 2017-04-06 基于mvc动态页面生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710221512.4A CN106990970B (zh) 2017-04-06 2017-04-06 基于mvc动态页面生成方法及系统

Publications (2)

Publication Number Publication Date
CN106990970A CN106990970A (zh) 2017-07-28
CN106990970B true CN106990970B (zh) 2020-10-23

Family

ID=59415395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710221512.4A Active CN106990970B (zh) 2017-04-06 2017-04-06 基于mvc动态页面生成方法及系统

Country Status (1)

Country Link
CN (1) CN106990970B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107609156B (zh) * 2017-09-26 2020-12-25 微梦创科网络科技(中国)有限公司 一种页面搭建的方法及装置
CN108269120A (zh) * 2017-11-29 2018-07-10 广东神马搜索科技有限公司 广告样式元数据配置方法及装置
CN108804863A (zh) * 2018-05-04 2018-11-13 深圳晶泰科技有限公司 通用力场数据库及其更新方法和检索方法
CN108829882B (zh) * 2018-06-27 2021-05-04 深圳乐信软件技术有限公司 信息收集方法、装置、终端及介质
CN112328347A (zh) * 2020-11-05 2021-02-05 杭州大搜车汽车服务有限公司 应用规则配置方法、装置和页面处理方法
CN114356472A (zh) * 2021-12-03 2022-04-15 浙江臻善科技股份有限公司 一种系统界面差别化动态渲染的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441187B2 (en) * 2004-12-16 2008-10-21 International Business Machines Corporation Web template processing utilizing dynamic rules defined by data structure language
CN100520717C (zh) * 2007-08-31 2009-07-29 南京联创科技股份有限公司 基于mvc的业务组装和页面模板化开发web平台的方法
CN101359290A (zh) * 2008-09-11 2009-02-04 中兴通讯股份有限公司 一种基于元数据的定制业务单据的方法及装置
CN102222005B (zh) * 2011-07-12 2013-10-30 铜陵玉成软件科技有限责任公司 面向业务模型的软件运行平台、运行方式及一种开发方法
CN102789382B (zh) * 2012-06-28 2015-09-23 用友软件股份有限公司 用于表单生成和运行的系统及方法
CN103593443A (zh) * 2013-11-18 2014-02-19 南京新模式软件集成有限公司 一种电子文件元数据扩展的方法

Also Published As

Publication number Publication date
CN106990970A (zh) 2017-07-28

Similar Documents

Publication Publication Date Title
CN106990970B (zh) 基于mvc动态页面生成方法及系统
CN108874926B (zh) 海量数据查询方法、装置、计算机设备和存储介质
CN107092625B (zh) 数据配置方法、数据处理方法及装置
US20170052977A1 (en) Apparatus and Method for Collaboratively Analyzing Data Snapshot Visualizations from Disparate Data Sources
US9043750B2 (en) Automated generation of two-tier mobile applications
US8180795B2 (en) Apparatus and method for distribution of a report with dynamic write-back to a data source
US11537683B2 (en) Configuration of content site user interaction monitoring in data networks
US10175954B2 (en) Method of processing big data, including arranging icons in a workflow GUI by a user, checking process availability and syntax, converting the workflow into execution code, monitoring the workflow, and displaying associated information
CN111008051B (zh) 基于多维规则的动态布局
US10582012B2 (en) Adaptive data transfer optimization
US20130117719A1 (en) Context-Based Adaptation for Business Applications
US11349902B2 (en) System and method to standardize and improve implementation efficiency of user interface content
US10740367B2 (en) Displaying an indication of changes made to content at a source
US10216556B2 (en) Master database synchronization for multiple applications
US9323728B2 (en) Coordinating the management of the layout and design of portal pages with the management of its associated web content
US20210304142A1 (en) End-user feedback reporting framework for collaborative software development environments
US10747588B2 (en) Method for updating instance-based message maps using metadata
CN109063059A (zh) 行为日志处理方法、装置及电子设备
US20190095404A1 (en) Managing extended schemas
US11843679B2 (en) Automated dependency management based on page components
KR101228877B1 (ko) 웹 디자인을 이용한 동적 웹 사이트 개발 장치 및 방법
CN115062084A (zh) 基于数据库元数据构建api接口方法及装置
US20140089207A1 (en) System and method for providing high level view tracking of changes in sca artifacts
US20240045724A1 (en) Framework for provisioning an application resource for an application in use with a controlled content repository
US20230010906A1 (en) System event analysis and data management

Legal Events

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