CN101980205A - 通用页面的生成方法 - Google Patents
通用页面的生成方法 Download PDFInfo
- Publication number
- CN101980205A CN101980205A CN 201010532513 CN201010532513A CN101980205A CN 101980205 A CN101980205 A CN 101980205A CN 201010532513 CN201010532513 CN 201010532513 CN 201010532513 A CN201010532513 A CN 201010532513A CN 101980205 A CN101980205 A CN 101980205A
- Authority
- CN
- China
- Prior art keywords
- page
- general
- database table
- file
- field
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种网页生成方法,特别涉及一种通用页面的生成方法。一种通用页面的生成方法包括以下步骤:第一步进行与数据库表对应的XML映射文件定义;第二步生成通用页面,根据XML映射文件定义首先得到数据库表的名称以生成相应的网页标题,再得到数据库表所有的字段属性,根据每个字段的详细定义,在网页上进行不同的显示,然后编写通用页面内容,存入通用页面文件夹下;第三步通过URL进行页面访问,首先获取页面请求URL,根据URL计算出访问服务器资源文件路径,如果访问URL对应的目标页面文件存在,则访问此页面;如果不存在,则访问通用页面文件夹的同名文件。
Description
技术领域
本发明涉及一种网页生成方法,特别涉及一种通用页面的生成方法。
背景技术
随着Intemet技术的兴起,B/S(Browser/Server)结构即浏览器和服务器结构的应用系统开发,已经成为了目前的主流。在这种结构下,用户工作界面是通过WWW(万维网)浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式,比如LAN(LocalArea Network的缩写,即局域网)、WAN(Wide Area Network的缩写,即广域网)、Intemet/Intranet等,访问和操作共同的数据库。它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
由于B/S架构管理软件只安装在服务器端(Server)上,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所以B/S系统的软件开发也主要是服务器端软件的开发,主要的事务逻辑都要在服务器端处理,因此往往服务器端的代码量非常之庞大,开发效率会比较低,同时开发成本也比较高。
特别是对于网页,许多网页的内容有许多相似之处,如果每个网页都单独写代码,则开发工作量很大,效率很低。
发明内容
本发明的目的在于提供一种通用页面的生成方法,极大的提高了服务器端网页代码的重复使用率,提高了开发效率,降低开发成本。
一种通用页面的生成方法,包括以下步骤:
第一步进行与数据库表对应的XML(Extensible Markup Language即可扩展标记语言)映射文件定义,定义数据库表的属性以及与其他数据库表的关系;
第二步生成通用页面,根据XML映射文件定义,首先得到数据库表的名称以生成相应的网页标题,再得到数据库表所有的字段属性,根据每个字段的详细定义,在网页上进行不同的显示,然后编写通用页面内容,存入通用页面文件夹下;
第三步通过URL(Uniform Resource Locator的缩写,统一资源定位符,也被称为网页地址)进行页面访问。首先获取页面请求URL,根据URL计算出访问服务器资源文件路径,如果访问URL对应的目标页面文件存在,则访问此页面;如果不存在,则访问通用页面文件夹的同名文件。
所述定义数据库表的属性包括定义数据库表的名字、包含的字段、各个字段的类型。
所述通用页面内容包括通用的菜单(menu),列表(list),查看(viewContent),编辑(editContent),删除(del),搜索(search)页面。
本发明具有以下有益效果:应用本发明通用页面的生成方法,一般数据库表对象的菜单,列表,查看,编辑,删除,搜索等页面,都可以由通用页面生成,从而较大提高了页面代码重用性,提高了开发效率。
附图说明
下面结合附图和具体实施方式对本发明作进一步说明。
图1为本发明通用页面的生成方法中com文件夹定义的通用页面资源;
图2为本发明通用页面的生成方法中URL过滤器的工作流程图;
具体实施方式
下面根据附图和具体实施例对本发明作进一步阐述。一种通用页面的生成方法,包括以下步骤:
第一步进行与数据库表对应的XML(Extensible Markup Language即可扩展标记语言)映射文件定义。定义数据库表的属性以及与其他数据库表的关系。定义数据库表的属性包括定义数据库表的名字、包含的字段、各个字段的类型。
第二步生成通用页面。根据XML映射文件定义,首先得到数据库表的名称以生成相应的网页标题,再得到数据库表所有的字段属性,根据每个字段的详细定义,在网页上进行不同的显示,然后编写通用页面内容,存入通用页面文件夹下。通用页面内容包括通用的菜单(menu),列表(list),查看(viewContent),编辑(editContent),删除(del),搜索(search)页面。
第三步通过URL进行页面访问。首先获取页面请求URL,根据URL计算出访问服务器资源文件路径,如果访问URL对应的目标页面资源存在,则访问此页面资源;如果不存在,则访问通用页面文件夹的同名文件。
本发明主要包括了基于XML的数据库表映射文件定义,通用页面编写,页面资源重定向URLFilter(URL过滤器)三大部分。
下面以Java,jsp语言为例作实施例说明。
第1步:所示是数据定义的XML:Announce(公告通知)
<entity entity-name=″Announce″entity-title=″公告通知″>
<field name=″announceId″title=″通知编号″type=″id″group=″99″
check=″false″></field>
<field name=″userId″title=″发布人″type=″id″group=″0″
check=″false″value=″userId″search=″y″></field>
<field name=″title″title=″标题″type=″value″group=″0″
check=″true″key=″name″search=″y″></field>
<field name=″content″title=″内容″type=″very-long″group=″0″
check=″true″search=″Y″></field>
<field name=″date″col-name=″DATE RP″title=″发布时间″
type=″date-time″group=″0″check=″false″search=″Y″></field>
<prim-key field=″announceId″/>
<relation type=″one″rel-entity-name=″User″>
<key-map field-name=″userId″/>
</relation>
</entity>
一个entity定义对应了数据库的一张表:
entity-name=”Announce”,定义了“公告通知”数据库表,对应数据库表“Announce”
一个field对应了数据库表的一个字段:
<field name=″announceId″></field>
<field name=″userId″></field>
<field name=″title″></field>
<field name=″content″></field>
<field name=″date″></field>
分别定义了数据库表字段announceId通知编号,userId发布人,title标题,content内容,date发布时间.
prim_key定义了表的主键:
<prim-key field=″announceId″/>定义了Announce表的主键为announceId
relation定义了表与表的关联:
<relation type=″one″rel-entity-name=″User″>
<key-map field-name=″userId″/>
</relation>
定义了外键userId,关联了User表,表明了公告通知发布人。
title定义了显示标题:如:公告标题,公告内容等
type定义了数据类型,定义了表字段数据类型
group定义了字段是显示还是隐藏(例如:announceId是主键,一般系统都有相对应的主键生成策略,所以group=”99”表示在页面上隐藏,其他字段group=”0”,在页面显示)
check定义了数据库表在新增与修改的时候,此字段是否为必填字段:
<field name=″title″title=″标题″type=″value″check=″true″></field>表明了公告通知的“title标题”字段是必填字段
search定义了搜索页面是否包含此字段进行搜索
数据库表XML定义信息能够反映出数据库表的页面显示信息,是通用页面编写的基础。
第2步:通用页面的编写,主要是解析第1步定义的XML文件
通用的editContent.jsp页面生成Announce(公告通知)editContent.jsp页面:
2.1根据页面访问参数,得到访问的数据库表对象,entity=“Announce”
2.1根据Announce数据库表定义,得到生成网页的title=”公告通知”
2.2特殊字段的特殊处理
2.2.1根据主键生成策略生成主键,生成的主键填写在<inputname=”announceId”type=”hidden”value=””/>对应的value值那里。
2.2.2userId字段属于特殊字段,默认取当前登录用户的userId,userId填写在<input name=”userId”type=”hidden”value=””/>对应的value值那里
2.3其他普通字段根据其title,type按顺序在页面上显示
最后生成了公告通知的editContent.jsp编辑页面
如图1所示:com文件夹下主要通用页面有
del.jsp通用删除页面
editCotent.jsp通用新建,编辑页面
menu.jsp通用菜单页面
search.jsp通用搜索页面
viewContent.jsp通用查看页面
如果换成Announce(公告通知)以外其他数据库表也是根据其数据库表定义XML生成其对应页面
第3步:通过URL进行页面访问,如图2所示流程图访问页面资源文件:
S3-1:获取页面请求URL
S3-2:根据URL计算出访问服务器资源文件路径
S3-3:目标页面资源是否存在
不存在S3-4:访问com文件夹通用页面资源
存在S3-5:访问非通用自身页面资源
S3-6:返回请求结果页面
页面URL访问Announce(公告通知)的editContent.jsp编辑页面:
URL相对路径为/announce/editContent.jsp,URLFilter首先确认announce文件夹下面有没有editContent.jsp文件,如果有,页面调用此editContet.jsp;如果没有则调用com文件夹下通用的editContent.jsp文件,最后返回结果页面。
这样,对于开发人员来说,即方便统一页面风格,大大减少了代码编写量,提高了代码的重用性,提高了开发效率;如果页面需要特殊处理,也只要在对应文件夹下重写相应的页面即可,非常的灵活。
Claims (3)
1.一种通用页面的生成方法,其特征在于,包括以下步骤:
第一步进行与数据库表对应的XML映射文件定义,定义每张数据库表的属性以及与其他数据库表的关系;
第二步生成通用页面,根据XML映射文件定义,首先得到数据库表的名称以生成相应的网页标题,再得到数据库表所有的字段属性,根据每个字段的详细定义,在网页上进行不同的显示,然后编写通用页面内容,存入通用页面文件夹下;
第三步通过URL进行页面访问,首先获取页面请求URL,根据URL计算出访问服务器资源文件路径,如果访问URL对应的目标页面文件存在,则访问此页面;如果不存在,则访问通用页面文件夹的同名文件。
2.如权利要求1所述的通用页面的生成方法,其特征在于,所述定义数据库表的属性包括定义数据库表的名字、包含的字段、各个字段的类型。
3.如权利要求1或2所述的通用页面的生成方法,其特征在于,所述通用页面内容包括通用的菜单、列表、查看、编辑、删除、搜索页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010532513 CN101980205A (zh) | 2010-11-04 | 2010-11-04 | 通用页面的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010532513 CN101980205A (zh) | 2010-11-04 | 2010-11-04 | 通用页面的生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101980205A true CN101980205A (zh) | 2011-02-23 |
Family
ID=43600707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010532513 Pending CN101980205A (zh) | 2010-11-04 | 2010-11-04 | 通用页面的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101980205A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254023A (zh) * | 2011-07-27 | 2011-11-23 | 深圳市五巨科技有限公司 | 一种网页页面编辑的方法及装置 |
CN102694862A (zh) * | 2012-05-30 | 2012-09-26 | 华为技术有限公司 | Web页面的下载方法和设备 |
CN103365967A (zh) * | 2013-06-21 | 2013-10-23 | 百度在线网络技术(北京)有限公司 | 一种基于爬虫的自动化差异检测方法及装置 |
CN105404692A (zh) * | 2015-12-18 | 2016-03-16 | 深圳中兴网信科技有限公司 | Web页面的生成方法及生成装置 |
CN106919390A (zh) * | 2017-02-27 | 2017-07-04 | 上海上讯信息技术股份有限公司 | 一种页面生成的方法与设备 |
CN108763296A (zh) * | 2018-04-18 | 2018-11-06 | 链家网(北京)科技有限公司 | 一种在线查看和编辑的数据库结构生成方法及装置 |
CN109240692A (zh) * | 2018-11-16 | 2019-01-18 | 重庆满惠网络科技有限公司 | 一种基于通用模板的网页数据库开发的建立方法和系统 |
CN110020358A (zh) * | 2017-11-07 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 用于生成动态页面的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080098292A1 (en) * | 2006-10-20 | 2008-04-24 | Intelli-Check, Inc. | Automatic document reader and form population system and method |
CN101593207A (zh) * | 2009-07-06 | 2009-12-02 | 孟智平 | 一种构造和生成网页的方法及系统 |
CN101697156A (zh) * | 2009-10-29 | 2010-04-21 | 孟智平 | 一种构造链式网页的方法及系统 |
CN101847142A (zh) * | 2009-03-25 | 2010-09-29 | 上海斯年信息技术有限公司 | 基于数据表模型封装的网页开发方法 |
-
2010
- 2010-11-04 CN CN 201010532513 patent/CN101980205A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080098292A1 (en) * | 2006-10-20 | 2008-04-24 | Intelli-Check, Inc. | Automatic document reader and form population system and method |
CN101847142A (zh) * | 2009-03-25 | 2010-09-29 | 上海斯年信息技术有限公司 | 基于数据表模型封装的网页开发方法 |
CN101593207A (zh) * | 2009-07-06 | 2009-12-02 | 孟智平 | 一种构造和生成网页的方法及系统 |
CN101697156A (zh) * | 2009-10-29 | 2010-04-21 | 孟智平 | 一种构造链式网页的方法及系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254023A (zh) * | 2011-07-27 | 2011-11-23 | 深圳市五巨科技有限公司 | 一种网页页面编辑的方法及装置 |
CN102694862A (zh) * | 2012-05-30 | 2012-09-26 | 华为技术有限公司 | Web页面的下载方法和设备 |
CN103365967A (zh) * | 2013-06-21 | 2013-10-23 | 百度在线网络技术(北京)有限公司 | 一种基于爬虫的自动化差异检测方法及装置 |
CN103365967B (zh) * | 2013-06-21 | 2017-02-08 | 百度在线网络技术(北京)有限公司 | 一种基于爬虫的自动化差异检测方法及装置 |
CN105404692A (zh) * | 2015-12-18 | 2016-03-16 | 深圳中兴网信科技有限公司 | Web页面的生成方法及生成装置 |
CN105404692B (zh) * | 2015-12-18 | 2019-08-30 | 深圳中兴网信科技有限公司 | Web页面的生成方法及生成装置 |
CN106919390A (zh) * | 2017-02-27 | 2017-07-04 | 上海上讯信息技术股份有限公司 | 一种页面生成的方法与设备 |
CN110020358A (zh) * | 2017-11-07 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 用于生成动态页面的方法和装置 |
CN110020358B (zh) * | 2017-11-07 | 2021-08-17 | 北京京东尚科信息技术有限公司 | 用于生成动态页面的方法和装置 |
CN108763296A (zh) * | 2018-04-18 | 2018-11-06 | 链家网(北京)科技有限公司 | 一种在线查看和编辑的数据库结构生成方法及装置 |
CN108763296B (zh) * | 2018-04-18 | 2021-06-18 | 贝壳找房(北京)科技有限公司 | 一种在线查看和编辑的数据库结构生成方法及装置 |
CN109240692A (zh) * | 2018-11-16 | 2019-01-18 | 重庆满惠网络科技有限公司 | 一种基于通用模板的网页数据库开发的建立方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sevilla Ruiz et al. | Inferring versioned schemas from NoSQL databases and its applications | |
CN101980205A (zh) | 通用页面的生成方法 | |
JP5787963B2 (ja) | コンピュータプラットフォームのプログラミングインターフェース | |
US10503822B1 (en) | Application tracking, auditing and collaboration systems and methods | |
KR101152988B1 (ko) | 문맥 액션 게시 | |
US8065655B1 (en) | System and method for the autogeneration of ontologies | |
CN100578495C (zh) | 以透明方式公开计算机生成文档中嵌套数据的方法和系统 | |
US8701087B2 (en) | System and method of annotating class models | |
US20180152504A1 (en) | Data store interface that facilitates distribution of application functionality across a multi-tier client-server architecture | |
US20150302110A1 (en) | Decoupling front end and back end pages using tags | |
AU2006234977A1 (en) | Enterprise software system having multidimensional XBRL engine | |
CN101909082B (zh) | 一种基于模型驱动的网格门户配置系统及配置方法 | |
CN103383645A (zh) | 代码生成方法及系统 | |
CN106227553B (zh) | 用于描述并执行图形用户界面中的管理任务的数据驱动模式 | |
US8095574B2 (en) | Dynamically mapping and maintaining a customized method set of tags particular to an extention point | |
CN1790343A (zh) | 产生接口代码以使用企业信息系统的服务的方法和系统 | |
CN101902492A (zh) | Web Service服务器、网站建设方法及信息交互方法 | |
US20080155493A1 (en) | Method for ensuring unique identification of program elements across multiple executions | |
Cerezo et al. | Scientific workflow reuse through conceptual workflows on the virtual imaging platform | |
Bandirmali | mtCMF: A novel memory table based content management framework for automatic website generation | |
D'Ambrogio et al. | A MDA-based approach for the development of DEVS/SOA simulations | |
CN117573127B (zh) | 一种页面搭建方法、装置、电子设备及介质 | |
Jacquot | Multi-model Animation with JeB | |
Anderson | Issues of data scalability in open hypermedia systems | |
Brown | Introduction to UTL_HTTP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110223 |