技术文档
公司介绍
 
一个用于动态生成静态页面的类——TextTemplate
2008-09-03 16:13:20

     动态生成静态页面有许多好处,比如生成html网页有利于被搜索引擎收录。同时,由于减少了数据访问,减轻对数据库访问的压力,提高了网页打开速度。于是自己编写了一个用于动态生成静态页面的类——TextTemplate(名称似乎和静态页面没有关系,这是因为它还有其他功能,这些功能将在下文提及)

 

笔者之前发布的.net文档生成工具中的页面和编译CHM所需的工程文件(HHP)和内容文件(HHC)都是用这个类生成的。

 

基本思路:

 

使用一个字符串作为页面模板,再页面中包含用若干标志(用 {标志名} 表示),生成页面时,将标志替换为对应的值。

 

实现方法:

 

在初始化TextTemplate实例时读入模板,以标志为分割点将模板分割成几部分,生成页面时只需简单的将模板内容和标志的值连接起来。例如:

假如有一个模板 ABCD{TAG1}EFG{TAG2}HIJ{TAG3}KMUN

初始化时将模板分割成 "ABCD","EFG","HIJ","KMUN"四个字符串,

假设TAG1=“123”,TAG2=“456”,TAG3=“789”

则生成是相当于执行"ABCD"+"123"+"EFG"+"456"+"HIJ"+"789"+"KMUN"

 

代码:

 

完整代码下载

 

Code

 

 

实例代码:

 

 

 

Code

 

输出为:
<img src='pic.bmp' alt='Image' />
<img src='pic.bmp' alt='image' />

 

 

其他应用:

 

TextTemplate还可以用来在安装网站时生成Web.Config文件,只需定义以下模板:

 

Code

 

在设置标志 CONNECTIONSTRING 的值即可,这种方法比用XMLDocument类要方便得多。

 

总结:

 

TextTemplate的优点有:

1、模板只在初始化时就分析并分割存储,当使用同一模板生成多个页面时,只是简单的件模板内容和标志的值连接起来,不需要每次都去分析模板,如果使用string的Replace方法则每一次都要去分析字符串,而且如果标志值中含有标志,会影响生成的页面。

2、模板可以从文件读入,因此模板文件可以使用各种网页制作工具编辑。

 

TextTemplate虽然简单,但是功能很多...

作者:卢春城 来源:博客园
 
 
昆明索仕科技开发有限公司 版权所有 Copyright© 2002-2008 Kunming Source Technology Exploitive Co.,LTD. All Rights Reserved.
电话:0871-5627877 5354445 业务QQ:163871 业务 
滇ICP备05000592号

本站基于:索仕网站信息管理系统建设 版本 1.5.3274