路由器Web页面交互Tips

路由器Web页面开发中基于cgi形式,
一个页面对应一个c语言文件,如
network-lan.c -> lan_setup.cgi
wan.c -> wan.cgi

以network-lan.c 为例,该文件包括 main函数,Web页面生成,参数保存和读取的方法。
Web页面采用了HTML+Javascript+CSS和其他资源文件构成。
其中html文本主要是通过函数打印输出的方式实现,将html的各个元素视为可重用的关键词或语句,在输出函数为HTML的不同元素提供不同的显示方式。
例如:

{DIV_BEGIN, NULL, "class="setting">\n<div class="label"", NULL, NULL, "lan.hostname", NULL},
{MISC_END, "div", NULL, NULL, NULL, NULL, NULL},
{RAWINPUT,"hostname",hostname,"text",NULL,NULL,"maxlength=‘32‘ onblur=‘letter_digit_word_host(this, lan.hostname)‘"},
{RAWTXT,NULL,NULL,NULL,NULL," * ",NULL},
{RAWMSG, "share.maxlen32", NULL, NULL, NULL, "setting", NULL},
{MISC_END, "div", NULL, NULL, NULL, NULL, NULL},

Javascript使用两种实现方式:
1 通过在C语言函数中直接输出打印,相当于在HTML页面写js函数内容
2 调用js文件方式,将函数写在js文件中。
CSS样式则主要调用css文件的方式。

Web页面基本架构
在每个页面函数main()中,以下三个函数对HTML的文本内容进行分割,中间dispaly_form()函数在不同功能呈现不同,最终输出了一个完整的HTML代码文本
page_header(&header); //html header>menu
display_form(&form_property, &field_set, &footer_btns, &helps); //function display
page_end(); //end

上一篇:Quartz.Net系列(十四):详解Job中两大特性(DisallowConcurrentExecution、PersistJobDataAfterExecution)


下一篇:.NET ----- 日期转换