设为首页 加入收藏

TOP

开源C++版本CGI库CGICC入门(三)
2018-12-04 16:10:19 】 浏览:613
Tags:开源 版本 CGI CGICC 入门
ser agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.36 (KHTML, like Gecko) Chrome/39.0.2172.95 Safari/537.36

 

cookie: 

    cookie[pgv] = 445364884 

    cookie[ku] = f0ab9e006c7f4d5a4e9b394fc44fafc8afd6df6d373f9ff5f2946047974daf0ef9b00c6a1d7c341b 

    cookie[uid] = zhangshan 

    cookie[post-shareto-guide] = 1 

    cookie[si] = s4001534976 

    cookie[info] = ssid=s9175124444 

    cookie[pvid] = 6963827212 

    cookie[code_user_name] = A5C9579BE8B7C0E0 

 

query string:

 

remote: 120.16.82.66:80

 

form: 

    form[name1] = abc 

    form[name2] = xyz 

    form[upname] = upload

 

file: 

    name: filename 

    filename: test.txt 

    type: text/plain 

    size: 10 

    content: 0123456789

7. HTML输出子模块类图

 

n HTMLBooleanElement

注意sState是类HTMLBooleanElement的静态数据成员,sState的数据类型为bool

n 标签

对于<html></html>,前者<html>叫开始标签,后者</html>叫关闭标签。

n EElementType

枚举类型,定义了两个枚举值:eAtomiceBoolean,eAtomic对应的实现类为HTMLAtomicElement,eBoolean对应的实现为HTMLBooleanElement。类似于strong类的为eBoolean类型,而类似于hrbr之类的为eAtomic类型。对于eAtomic类型的HTML标签,它没有对应的关闭标签(也叫结束标签),观察以下两组的差别:

<br />

<strong>This text is strong</strong>

 

<hr />

<p>This is some text</p>

 

可以看到br和hr均是eAtomic类型的标签,而strong和p均是eBoolean类型的标签。

 

n fEmbedded

对于eBoolean类型的标签,在HTMLElement::render()函数的实现中,会发现还区分是否有fEmbedded,什么是有fEmbeddedeBoolean类型标签?

下面这行为无fEmbedded的eBoolean标签:

 

 

下段这段也是含fEmbedded的eBoolean的标签,“<title>CGICC</title>”为标签head的fEmbedded内容:

<head>

    <title>CGICC</title>

</head>

 

 

n fDataSpecified

也是针对eBoolean类型标签的,同样在HTMLElement::render()函数的实现中,会发现到差别(对应于对HTMLElement::dataSpecified()的调用)。下列的a即为fDataSpecified类型的eBoolean标签,其中“一见的技术博客”为标签aData

<a href="http://aquester.cublog.cn">一见的技术博客</a>

 

n 代码中的html()究竟是啥?

阅读示例代码,可能会有这样一个疑问:html()是如何被调用的?发现没法直接找到名叫html的函数。

cout << html().set("lang", "en").set("dir", "ltr") << endl;

cout << head() << endl;

cout << title() << "GNU cgicc v" << cgi.getVersion() << title() << endl;

cout << 

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 3/10/10
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇STL源码分析之空间配置器 下一篇c/c++ 拷贝控制 构造函数的问题

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目