CN105653669B - 超文本标记语言生成方法及装置 - Google Patents
超文本标记语言生成方法及装置 Download PDFInfo
- Publication number
- CN105653669B CN105653669B CN201511017206.6A CN201511017206A CN105653669B CN 105653669 B CN105653669 B CN 105653669B CN 201511017206 A CN201511017206 A CN 201511017206A CN 105653669 B CN105653669 B CN 105653669B
- Authority
- CN
- China
- Prior art keywords
- template
- content
- data
- html file
- label
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种超文本标记语言生成方法及装置,通过接收到页面加载请求,获取相应的模板,加载该模板,并根据模板中的标记,获取生成HTML文件内容数据,最终将该些内容数据注入模板,从而生成HTML文件。该过程中,标记以HTML代码注释的形式存在与模板中,使得编辑器能够提示模板中HTML代码的语法错误,即使标记错误也不会影响模板的加载及HTML文件生成,避免了页面404问题的出现,实现快速准确的生成HTML文件的目的。
Description
技术领域
本发明涉及网页设计技术,尤其涉及一种超文本标记语言生成方法及装置。
背景技术
一般来说,一个网页对应多个超文本标记语言(Hypertext Marked Language,HTML)文件。创建网页时,需要先生成HTML文件,再由HTML文件生成网页。
目前通过模板引擎,如Velocity、FreeMarker生成HTML文件。其中,模板引擎为具有自身语法规则的HTML文件生成工具,其采用类似于编程语言的流程控制方式实现条件、循环等控制逻辑,该些控制逻辑用特殊符号作为标记穿插在HTML代码中。
然而,上述采用模板引擎生成HTML文件的方法中,模板引擎的标记为不同于HTML代码或注释的特殊符号,该些标记与HTML代码嵌套在一起,使得HTML代码编写过程复杂,难以快速准确的生成HTML文件。而且,编译过程中出现错误时,编辑器无法提示是HTML代码出错,还是模板引擎的标记出错,进一步导致难以快速准确的生成HTML文件。
发明内容
本发明提供一种超文本标记语言生成方法及装置,实现快速准确的生成HTML文件的目的。
第一个方面,本发明实施例提供一种超文本标记语言HTML文件生成方法,包括:
接收终端发送的页面加载请求;
根据所述页面加载请求,获取相应的模板,所述模板包含以HTML代码注释形式存在的标记;
加载所述模板,根据所述标记获取生成HTML文件所需要的内容数据;
将所述内容数据注入所述模板从而生成所述HTML文件;
将所述HTML文件发送给所述终端。
可选的,所述标记包括:属性标记和控制标记,属性标记和控制标记,所述属性标记用于标识所述HTML文件的静态内容部分,所述控制标记用于标识所述HTML文件的逻辑判断部分。
可选的,所述将所述内容数据注入所述模板从而生成所述HTML文件,具体包括:
对于所述模板中的任一属性标记,采用所述内容数据中与该属性标记对应的静态内容部分替换所述模板中的该属性标记,从而生成所述HTML文件。
可选的,所述将所述内容数据注入所述模板从而生成所述HTML文件,具体包括:
将所述内容数据注入所述模板,对于所述模板中的任一控制标记,对注入所述模板的所述内容数据进行逻辑控制从而生成所述HTML文件。
可选的,所述控制标记包括:条件标记;所述对于所述模板中的任一控制标记,对注入所述模板的所述内容数据进行逻辑控制从而生成所述HTML文件,具体包括:
确定所述内容数据中是否存在需要实现所述条件标记所执行的逻辑功能对应的内容,若存在,则执行所述条件标记对应的逻辑判断。
可选的,所述控制标记包括:循环标记,对于所述模板中的任一控制标记,对注入所述模板的所述内容数据进行逻辑控制从而生成所述HTML文件,包括:
提取所述循环标记对应的配置次数,根据所述配置次数执行所述控制标记对应的逻辑判断。
可选的,所述将所述内容数据注入所述模板从而生成所述HTML文件之前,还包括:
确定所述内容数据是否能注入到所述模板,若无法注入所述模板,则确定所述内容数据是否能转换为可注入所述模板的数据,若能转换,则对所述内容数据进行转换,否则,将所述内容数据对应的所述属性标记的值设置为空。
可选的,所述将所述内容数据注入所述模板从而生成所述HTML文件之前,还包括:
确定所述内容数据是否缺失,若缺失,则生成错误提示。
第二方面,本发明实施例提供一种HTML文件生成装置,包括:
接收模块,用于接收终端发送的页面加载请求;
获取模块,用于根据所述接收模块接收到的所述页面加载请求,获取相应的模板,所述模板包含以HTML代码注释形式存在的标记;
加载模块,用于加载所述获取模块获取到的所述模板,根据所述标记获取生成HTML文件所需要的内容数据;
生成模块,用于将所述内容数据注入所述模板从而生成所述HTML文件;
发送模块,用于将所述生成模块生成的所述HTML文件发送给所述终端。
可选的,所述标记包括:属性标记和控制标记,属性标记和控制标记,所述属性标记用于标识所述HTML文件的静态内容部分,所述控制标记用于标识所述HTML文件的逻辑判断部分。
可选的,所述生成模块,具体用于对于所述模板中的任一属性标记,采用所述内容数据中与该属性标记对应的静态内容部分替换所述模板中的该属性标记,从而生成所述HTML文件。
可选的,所述生成模块,具体用于将所述内容数据注入所述模板,对于所述模板中的任一控制标记,对注入所述模板的所述内容数据进行逻辑控制从而生成所述HTML文件。
可选的,所述控制标记包括:条件标记;所述生成模块,具体用于确定所述内容数据中是否存在需要实现所述条件标记所执行的逻辑功能对应的内容,若存在,则执行所述条件标记对应的逻辑判断。
可选的,所述控制标记包括:循环标记,所述生成模块,具体用于提取所述循环标记对应的配置次数,根据所述配置次数执行所述控制标记对应的逻辑判断。
可选的,该装置还包括:
第一确定模块,用于在所述生成模块将所述内容数据注入所述模板从而生成所述HTML文件之前,确定所述内容数据是否能注入到所述模板,若无法注入所述模板,则确定所述内容数据是否能转换为可注入所述模板的数据,若能转换,则对所述内容数据进行转换,否则,将所述内容数据对应的所述属性标记的值设置为空。
可选的,该装置还包括:
第二确定模块,用于在所述生成模块将所述内容数据注入所述模板从而生成所述HTML文件之前,确定所述内容数据是否缺失,若缺失,则生成错误提示。
本发明实施例提供的超文本标记语言生成方法及装置,通过接收到页面加载请求,获取相应的模板,加载该模板,并根据模板中的标记,获取生成HTML文件内容数据,最终将该些内容数据注入模板,从而生成HTML文件。该过程中,标记以HTML代码注释的形式存在与模板中,使得编辑器能够提示模板中HTML代码的语法错误,即使标记错误也不会影响模板的加载及HTML文件生成,避免了页面404问题的出现,实现快速准确的生成HTML文件的目的。
附图说明
图1为本发明一实施例提供的HTML文件生成方法的流程图;
图2为本发明HTML文件生成方法一实施例所适用的属性标记与数据库字段的对应关系图;
图3文本发明HTML文件生成装置实施例一的结构示意图;
图4为本发明HTML文件生成装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,生成HTML文件的过程中,模板引擎通常会有一套自己的语法规则,该些语法规则采用类似于编程语言的流程控制方式来实现模板中的条件控制、循环控制等,该些语法规则一般会有特殊符号作为标记穿插在模板的HTML代码中。例如,对于条件标记,若需要为一个词语加上超链接,首先判断这个词语的超链接是否存在,若存在,则在该词语的前后加上HTML的<a>标签;否则,若不存在,则只显示词语,而不添加<a>标签。为实现该功能,需要在模板中定义类似if/else的语法来实现。当条件判断比较多时,if/else会多层嵌套,若标记不符合模板引擎定义的规则,则会导致模板加载失败。
再如,当HTML文件中需要出现一个内容列表时,则需要在模板中定义类似于for的语法,将for内部的HTML代码循环多次。具体的,一个新闻被分成多个HTML文件,在每个HTML文件中,都需要判断当前HTML文件对应的内容是否有上一页和下一页,该上一页和下一页是否有链接和分页标题等。
上述模板中,模板引擎的标记时不同于HTML代码和注释的一种符号,该些标记与HTML代码嵌套在一起,使得HTML代码编写过程复杂,难以快速准确的生成HTML文件。而且,编译过程中出现错误时,编辑器无法提示是HTML代码出错,还是模板引擎的标记出错,进一步导致难以快速准确的生成HTML文件。
有鉴于此,本发明提供一种HTML文件生成方法,以实现快速准确的生成HTML文件的目的。具体的,可参见图1。
图1为本发明一实施例提供的HTML文件生成方法的流程图。本实施例的执行主体为HTML文件生成装置,该HTML装置例如设置在模板引擎上,具体的,本实施例包括如下步骤:
101、接收终端发送的页面加载请求。
本步骤中,用户等点击网页上的按钮,或者在浏览器的地址栏输入网址以请求浏览网页时,终端向模板引擎发送页面加载请求。
102、根据所述页面加载请求,获取相应的模板,所述模板包含以HTML代码注释形式存在的标记。
本步骤中,模板引擎在接收到页面加载请求后,从模板库存储的众多的模板中获取一个模板作为待加载的模板,该模板包含以HTML代码注释形式存在的标记。例如,页面加载请求指示生成一个新闻的HTML文件,则模板引擎获取新闻相关的模板;再如,页面加载请求指示生成一个视频的HTML文件,则目标引擎获取视频相关的模板。
103、加载所述模板,根据所述标记获取生成HTML文件所需要的内容数据。
104、将所述内容数据注入所述模板从而生成所述HTML文件。
步骤103与步骤104中,模板引擎加载模板,并根据模板中的标记获取生成HTML文件所需要的内容数据,最终将该些内容数据注入模板,从而生成HTML文件。
105、将所述HTML文件发送给所述终端。
本发明实施例提供的HTML文件生成方法,接收到页面加载请求后,获取相应的模板,加载该模板,并根据模板中的标记,获取生成HTML文件内容数据,最终将该些内容数据注入模板,从而生成HTML文件。该过程中,标记以HTML代码注释的形式存在与模板中,使得编辑器能够提示模板中HTML代码的语法错误,即使标记错误也不会影响模板的加载及HTML文件生成,避免了页面404问题的出现,实现快速准确的生成HTML文件的目的。
本发明实施例中,所述标记包括:属性标记和控制标记,所述属性标记用于标识所述HTML文件的静态内容部分,例如,新闻的标题、内容、作者、时间等;所述控制标记用于标识所述HTML文件的逻辑判断部分。下面,对该些标记进行详细说明。
首先,属性标记。
属性标记为需要用内容数据替换的标记,例如,新闻的标题、内容、作者、时间等。对于属性标记,数据库中都存在与属性标记对应的字段。具体的,可参见图2,图2为本发明HTML文件生成方法一实施例所适用的属性标记与数据库字段的对应关系图。
其次,控制标记。
控制标记包括条件标记和循环标记,按照一定的格式出现。下面,分别对控制标记包括的条件标记与循环标记进行说明。
对于条件标记,其例如可以为指定前字符串CGIEXT开始,中间插入需要控制内容的关键词,该关键词可以有用户自己定义,最后以Begin/End分别表示循环标记的开始和结束。例如,要给某个词语加上超链接时,若超链接存在,则需要在词语的前后加上HTML的<a>标签;反之,则不加。当内容关键词为Link时,该条件标记编写如下:
<!—CGIEXT#LinkBegin:-->
<a href=〝<I—Linkpage-->〞>
<!--#CGIEXT#LinkEnd:-->
对于循环标记,其例如可以为指定前字符串CGIEXT In开始,中间插入需要控制内容的关键词,该关键词可以有用户自己定义,最后以Begin/End分别表示循环标记的开始和结束。例如,当HTML文件要求显示一个列表时,需要将列表关键词按照循环标记的要求封装,当内容关键词为Link时,该循环标记编写如下:
<!--#CGIEXT#InLinkBegin:-->##10
Html code
<!--#CGIEXT#In LinkEnd:-->
下面,在上述标记说明的基础上,对本发明HTML文件生成方法进行说明。
首先,加载模板。
现有技术中,当HTML文件中需要出现一个循环列表时,例如一个新闻列表,要控制该新闻列表显示多条新闻,一般通过如下两种方式:方式一、在模板中通过目标引擎的for语句控制循环次数。此时,需要目标引擎先获取所有满足条件的新闻,在向模板注入所有数据时过滤掉多余的数据,导致模板引擎和数据库需要承担额外的性能消耗;方式二、先由用户在系统后台配置,模板引擎获取数据时按照配置获取,并将按照配置获取到的数据注入模板中。此时,需要开发供用户增加、修改配置的功能,而当一个HTML文件中列表较多时,需要人为的保证每个列表的配置都正确,模板的开发的灵活性较差,准确性也不高。
本发明实施例中,加载模板,对于循环标记,从模板中自动抽取循环标记的配置数据,配置数据以注释形式存在于循环标记的后面。然后根据循环标记与配置数据获取内容数据,在一定程度上减轻了模板引擎和数据库的负荷,降低了HTML文件生成过程中内存的占用,提升了HTML文件的生成效率。以属性标记为<!--title-->为例,对于如下循环标记:
<!--#CGIEXT#InTitleBegin:-->##10
<!--title-->
<!--#CGIEXT#InTitleEnd:-->
由于属性标记为<!—title-->,循环标记对应的配置数据为10。在解析出该属性标记和循环标记后,根据属性标记确定出需要从数据库中读取title字段(而不是作者或时间或内容字段)以获取内容数据;根据循环标记的配置数据10,确定出需要读取10个title。
其次,获取生成HTML文件所需要的内容数据。
具体的,在本发明一实施例中,加载所述模板,根据所述标记获取生成HTML文件所需要的内容数据的过程中,对于模板标记中的任一属性标记,由于数据库中都存在与该属性标记对应的字段,例如直接对应或间接对应,因此,可根据属性标记确定数据库中对应的字段,进而获取内容数据。
再次,对内容数据进行验证。
对内容数据进行验证,是指验证内容数据的合法性与完备性。
合法性的验证过程中,模板引擎确定所述内容数据是否能注入到所述模板,若无法注入所述模板,则确定所述内容数据是否能转换为可注入所述模板的数据,若能转换,则对所述内容数据进行转换,否则,将所述内容数据对应的所述属性标记的值设置为空。例如,内容数据中,从数据库中获取的是图片的身份标识(Identity,ID),而模板中需要注入图片的统一资源定位符(Uniform Resoure Locator,URL),则在本步骤中会进行转换;对于不能转换或转换失败的,设置成空值。
完备性的验证过程中,目标引擎确定所述内容数据是否缺失,若缺失,则生成错误提示。具体的,模板中必须有需要替换的属性标记,且获取到的内容数据中必须有与该属性标记对应的值,若没有,则发生数据缺失,生成错误提示。
最后,将内容数据注入模板从而生成HTML文件。
在获取到内容数据后,模板引擎解析模板中的标记,对于所述模板中的任一属性标记,采用所述内容数据中与该属性标记对应的组成部分替换所述模板中的该属性标记;对于所述模板中的任一控制标记,对注入模板的内容数据进行逻辑控制以生成HTML文件。
当控制标记具体为条件标记时,上述的对于所述模板中的任一控制标记,对注入模板的内容数据进行逻辑控制以生成HTML文件具体为:确定所述内容数据中是否存在需要实现所述条件标记所执行的逻辑功能对应的内容,若存在,则执行所述条件标记对应的逻辑判断。具体的,模板引擎确定内容数据中,条件标记的内容关键词对应的属性实为为空,若为空,则移除条件标记,以及条件标记中间的HTML代码;否则,移除条件标记,并执行条件标记中间的HTML代码。
当控制标记具体为循环标记时,上述的对于所述模板中的任一控制标记,对注入模板的内容数据进行逻辑控制从而生成HTML文件具体为:提取循环标记对应的配置次数,根据所述配置次数执行所述控制标记对应的逻辑判断。具体的,模板引擎提取循环标记对应的配置次数,确定配置次数是否为0或不存在,若为0或不存在,则移除循环标记,以及循环标记中间的HTML代码;否则,若配置次数不为0,则循环执行配置次数次循环标记中间的HTML代码。提取配置次数时,因为配置次数是紧跟在循环标记后面的,因此,通过正则表达式匹配,即可提取到配置数据。例如,当HTML模板中循环标记为:<!--#CGIEXT#In***Begin:-->##***时,可以提取到两个***位置的内容,后一个***就是配置次数。
上述HTML文件生成过程中,除采用动态的内容数据替换模板中的属性标记外,还采用控制标记对注入HTML文件的内容数据进行逻辑控制,避免在模板中编写控制逻辑,提高了模板的开发效率和HTML目标开发的灵活性及准确性。
图3文本发明HTML文件生成装置实施例一的结构示意图,本实施例提供的HTML文件生成装置,是与上述图1所述方法对应的装置,具体实现原理及技术效果此处不再赘述。具体的,本实施例提供的HTML文件生成装置包括:
接收模块11,用于接收终端发送的页面加载请求;
获取模块12,用于根据所述接收模块11接收到的所述页面加载请求,获取相应的模板,所述模板包含以HTML代码注释形式存在的标记;
加载模块13,用于加载所述获取模块12获取到的所述模板,根据所述标记获取生成HTML文件所需要的内容数据;
生成模块14,用于将所述内容数据注入所述模板从而生成所述HTML文件;
发送模块15,用于将所述生成模块14生成的所述HTML文件发送给所述终端。
本发明实施例提供的HTML文件生成装置,接收到页面加载请求后,获取相应的模板,加载该模板,并根据模板中的标记,获取生成HTML文件内容数据,最终将该些内容数据注入模板,从而生成HTML文件。该过程中,标记以HTML代码注释的形式存在与模板中,使得编辑器能够提示模板中HTML代码的语法错误,即使标记错误也不会影响模板的加载及HTML文件生成,避免了页面404问题的出现,实现快速准确的生成HTML文件的目的。
可选的,在本发明一实施例中,所述标记包括:属性标记和控制标记,所述属性标记用于标识所述HTML文件的静态内容部分,所述控制标记用于标识所述HTML文件的逻辑判断部分。
可选的,在本发明一实施例中,所述生成模块14,具体用于对于所述模板中的任一属性标记,采用所述内容数据中与该属性标记对应的静态内容部分替换所述模板中的该属性标记,从而生成所述HTML文件。
可选的,在本发明一实施例中,所述生成模块14,具体用于将所述内容数据注入所述模板,对于所述模板中的任一控制标记,对注入所述模板的所述内容数据进行逻辑控制从而生成所述HTML文件。
可选的,在本发明一实施例中,所述控制标记包括:条件标记;所述生成模块14,具体用于确定所述内容数据中是否存在需要实现所述条件标记所执行的逻辑功能对应的内容,若存在,则执行所述条件标记对应的逻辑判断。
可选的,在本发明一实施例中,所述控制标记包括:循环标记,所述生成模块14,具体用于提取所述循环标记对应的配置次数,根据所述配置次数执行所述控制标记对应的逻辑判断。
图4为本发明HTML文件生成装置实施例二的结构示意图,如图3所示,本实施例提供的HTML文件在上述图2所示基础上,进一步的,还包括:
第一确定模块16,用于在所述生成模块14将所述内容数据注入所述模板从而生成所述HTML文件之前,确定所述内容数据是否能注入到所述模板,若无法注入所述模板,则确定所述内容数据是否能转换为可注入所述模板的数据,若能转换,则对所述内容数据进行转换,否则,将所述内容数据对应的所述属性标记的值设置为空。
再请参照图3,本发明实施例提供的HTML文件生成装置还包括:
第二确定模块17,用于在所述生成模块14将所述内容数据注入所述模板从而生成所述HTML文件之前,确定所述内容数据是否缺失,若缺失,则生成错误提示。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种超文本标记语言HTML文件生成方法,其特征在于,包括:
接收终端发送的页面加载请求;
根据所述页面加载请求,获取相应的模板,所述模板包含以HTML代码注释形式存在的标记;
加载所述模板,根据所述标记获取生成HTML文件所需要的内容数据;
将所述内容数据注入所述模板从而生成所述HTML文件;
将所述HTML文件发送给所述终端;
所述标记包括:属性标记和控制标记,所述属性标记用于标识所述HTML文件的静态内容部分,所述控制标记用于标识所述HTML文件的逻辑判断部分;
所述将所述内容数据注入所述模板从而生成所述HTML文件,具体包括:
将所述内容数据注入所述模板,对于所述模板中的任一控制标记,对注入所述模板的所述内容数据进行逻辑控制从而生成所述HTML文件;
所述控制标记包括:循环标记,对于所述模板中的任一控制标记,对注入所述模板的所述内容数据进行逻辑控制从而生成所述HTML文件,包括:
提取所述循环标记对应的配置次数,根据所述配置次数执行所述控制标记对应的逻辑判断。
2.根据权利要求1所述的方法,其特征在于,所述将所述内容数据注入所述模板从而生成所述HTML文件,具体包括:
对于所述模板中的任一属性标记,采用所述内容数据中与该属性标记对应的静态内容部分替换所述模板中的该属性标记,从而生成所述HTML文件。
3.根据权利要求1所述的方法,其特征在于,所述控制标记包括:条件标记;所述对于所述模板中的任一控制标记,对注入所述模板的所述内容数据进行逻辑控制从而生成所述HTML文件,具体包括:
确定所述内容数据中是否存在需要实现所述条件标记所执行的逻辑功能对应的内容,若存在,则执行所述条件标记对应的逻辑判断。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述内容数据注入所述模板从而生成所述HTML文件之前,还包括:
确定所述内容数据是否能注入到所述模板,若无法注入所述模板,则确定所述内容数据是否能转换为可注入所述模板的数据,若能转换,则对所述内容数据进行转换,否则,将所述内容数据对应的所述属性标记的值设置为空。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述内容数据注入所述模板从而生成所述HTML文件之前,还包括:
确定所述内容数据是否缺失,若缺失,则生成错误提示。
6.一种HTML文件生成装置,其特征在于,包括:
接收模块,用于接收终端发送的页面加载请求;
获取模块,用于根据所述接收模块接收到的所述页面加载请求,获取相应的模板,所述模板包含以HTML代码注释形式存在的标记;
加载模块,用于加载所述获取模块获取到的所述模板,根据所述标记获取生成HTML文件所需要的内容数据;
生成模块,用于将所述内容数据注入所述模板从而生成所述HTML文件;
发送模块,用于将所述生成模块生成的所述HTML文件发送给所述终端;
所述标记包括:属性标记和控制标记,所述属性标记用于标识所述HTML文件的静态内容部分,所述控制标记用于标识所述HTML文件的逻辑判断部分;
所述生成模块,具体用于将所述内容数据注入所述模板,对于所述模板中的任一控制标记,对注入所述模板的所述内容数据进行逻辑控制从而生成所述HTML文件;
所述控制标记包括:循环标记,所述生成模块,具体用于提取所述循环标记对应的配置次数,根据所述配置次数执行所述控制标记对应的逻辑判断。
7.根据权利要求6所述的装置,其特征在于,
所述生成模块,具体用于对于所述模板中的任一属性标记,采用所述内容数据中与该属性标记对应的静态内容部分替换所述模板中的该属性标记,从而生成所述HTML文件。
8.根据权利要求6所述的装置,其特征在于,所述控制标记包括:条件标记;所述生成模块,具体用于确定所述内容数据中是否存在需要实现所述条件标记所执行的逻辑功能对应的内容,若存在,则执行所述条件标记对应的逻辑判断。
9.根据权利要求6-8任一项所述的装置,其特征在于,还包括:
第一确定模块,用于在所述生成模块将所述内容数据注入所述模板从而生成所述HTML文件之前,确定所述内容数据是否能注入到所述模板,若无法注入所述模板,则确定所述内容数据是否能转换为可注入所述模板的数据,若能转换,则对所述内容数据进行转换,否则,将所述内容数据对应的所述属性标记的值设置为空。
10.根据权利要求6-8任一项所述的装置,其特征在于,还包括:
第二确定模块,用于在所述生成模块将所述内容数据注入所述模板从而生成所述HTML文件之前,确定所述内容数据是否缺失,若缺失,则生成错误提示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511017206.6A CN105653669B (zh) | 2015-12-29 | 2015-12-29 | 超文本标记语言生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511017206.6A CN105653669B (zh) | 2015-12-29 | 2015-12-29 | 超文本标记语言生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653669A CN105653669A (zh) | 2016-06-08 |
CN105653669B true CN105653669B (zh) | 2019-08-13 |
Family
ID=56478234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511017206.6A Active CN105653669B (zh) | 2015-12-29 | 2015-12-29 | 超文本标记语言生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653669B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874019A (zh) * | 2017-03-17 | 2017-06-20 | 微梦创科网络科技(中国)有限公司 | 一种骨架代码的生成方法和骨架代码生成器 |
CN111563363B (zh) * | 2020-05-12 | 2023-08-15 | 北京飞漫软件技术有限公司 | 一种超文本标记语言文档内容生成及解析方法 |
CN113568678B (zh) * | 2021-07-16 | 2023-12-12 | 上海淇玥信息技术有限公司 | 一种动态加载资源的方法、装置及电子设备 |
CN116227455A (zh) * | 2023-04-25 | 2023-06-06 | 深圳代码兄弟技术有限公司 | 一种文件生成方法、系统及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773508A (zh) * | 2005-11-15 | 2006-05-17 | 李利鹏 | 把源文档转换成目标网页文件的方法 |
CN102314499A (zh) * | 2011-08-26 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种用于处理网页内容的方法与设备 |
-
2015
- 2015-12-29 CN CN201511017206.6A patent/CN105653669B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773508A (zh) * | 2005-11-15 | 2006-05-17 | 李利鹏 | 把源文档转换成目标网页文件的方法 |
CN102314499A (zh) * | 2011-08-26 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种用于处理网页内容的方法与设备 |
Non-Patent Citations (1)
Title |
---|
一种实用的嵌入式Web服务器设计;李英明 等,;《单片机与嵌入式系统应用》;20120101(第1期);12-15 |
Also Published As
Publication number | Publication date |
---|---|
CN105653669A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294164B (zh) | 一种代码检查方法及装置 | |
Qian et al. | Sample-driven schema mapping | |
US9934220B2 (en) | Content revision using question and answer generation | |
CN105653669B (zh) | 超文本标记语言生成方法及装置 | |
Shlain et al. | Syntactic search by example | |
US20070033520A1 (en) | System and method for web page localization | |
CN106371829A (zh) | 基于模块化思想的模板框架设计方法及系统 | |
EP2162833A1 (en) | A method, system and computer program for intelligent text annotation | |
Fiorelli et al. | Sheet2RDF: a flexible and dynamic spreadsheet import&lifting framework for RDF | |
CN111159982A (zh) | 文档编辑方法、装置、电子设备及计算机可读存储介质 | |
CN106843878A (zh) | 一种模型生成方法和系统 | |
CN106528088A (zh) | 在线表单中填充控件的方法和装置 | |
Dohrn et al. | Design and implementation of wiki content transformations and refactorings | |
CN117555792A (zh) | 一种测试代码生成方法及装置 | |
US9405739B1 (en) | Source code format for IDE code development with embedded objects | |
CN111881043A (zh) | 页面测试方法、装置、存储介质和处理器 | |
Agnoloni et al. | xmLegesEditor: an opensource visual XML editor for supporting legal national standards | |
Nguyen et al. | Code search on bytecode for mobile app development | |
US20090217156A1 (en) | Method for Storing Localized XML Document Values | |
CN103106556A (zh) | 一种基于人工智能规划的模型自动组合方法和系统 | |
Yuan et al. | A study on information extraction from PDF files | |
Zhang et al. | Automatic extraction rules generation based on xpath pattern learning | |
Zhou | An observer-based technique with trace links for requirements validation in embedded real-time systems | |
Zhang et al. | Odaies: ontology-driven adaptive Web information extraction system | |
KR101499050B1 (ko) | Xml 기반한 웹문서를 제작하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |