通用动态生成静态HTML页方法

转载 2006年06月17日 11:14:00


        /// <summary>
        
/// 动态生成HTML页--韩国际(2006-04-18)
        
/// </summary>
        
/// <param name="format">**用于替换HTML模板的变量($htmlformat[*]),format数组中的第一个变量format[0]应该是生成的静态HTML页相对于图片目录Images的相对路径,如:"../"</param>
        
/// <param name="templateUrl">调用HTML模板的URL + 模板名称,如:"Temp/Template.htm"</param>
        
/// <param name="saveHtmlUrl">保存生成的HTML页的URL + HTML文件名称,如:"Temp/20060418.htm"</param>
        
/// <param name="encodingName">读取HTML模板页和生成HTML页所使用的字符编码方式,如:"GB2312"</param>
        
/// <returns>布尔类型--True=生成成功,False=生成失败</returns>

        public bool WriteHtml(string[] format,string templateUrl,string saveHtmlUrl,string encodingName)
        
{
            
//---------------------读html模板页面到stringbuilder对象里---- 
            System.Text.StringBuilder htmltext=new System.Text.StringBuilder();
            
try 
            

                System.IO.StreamReader sr 
= new System.IO.StreamReader(Server.MapPath(templateUrl.Trim()),System.Text.Encoding.GetEncoding(encodingName));
                
string line; 
                
while ((line = sr.ReadLine()) != null
                

                      htmltext.Append(line);
                }
 
                sr.Close(); 
            }
 
            
catch
            

                 System.Web.HttpContext.Current.Response.Write(
"<script>alert('读取HTML模板 "+templateUrl.Trim()+" 出错!');</script>"); 
            }
 
            
//----------替换htm模板里的标记为传入的数组
            for(int i=0;i<format.Length;i++
            

                 htmltext.Replace(
"$htmlformat["+i+"]",format[i]); 
            }
    
            
//----------生成htm文件------------------―― 
            try 
            

                
string tmphtm=Server.MapPath(saveHtmlUrl);
                     System.IO.StreamWriter sw 
= new System.IO.StreamWriter(tmphtm.Trim(),false,System.Text.Encoding.GetEncoding(encodingName)); 
                     sw.WriteLine(htmltext); 
                     sw.Flush(); 
                     sw.Close(); 
                
return true;
            }
 
            
catch 
            

                System.Web.HttpContext.Current.Response.Write(
"<script>alert('"+saveHtmlUrl.Trim()+" HTML文件生成失败!');</script>"); 
                
return false;
            }
 
        }

相关文章推荐

通用PHP动态生成静态HTML网页的代码

最近研究PHP的一些开发技术,发现PHP有很多ASP所没有的优秀功能,可以完成一些以前无法完成的功能,例如动态生成HTML静态页面,以减少服务器CPU的负载,提高用户访问的速度。   我们知道,PH...

通用PHP动态生成静态HTML网页的代码

最近研究PHP的一些开发技术,发现PHP有很多ASP所没有的优秀功能,可以完成一些以前无法完成的功能,例如动态生成HTML静态页面,以减少服务器CPU的负载,提高用户访问的速度。我们知道,PHP读取M...

动态JSP如何生成静态HTML【方法一】

具体实现: 利用 Filter 的过滤功能把 *.jsp 过滤出来,判断是否存在对应的 .html 文件,如果不存在对应的 .html 文件,则将其内容读出写入指定的 .html 文件,再跳转到对...
  • mtfsoft
  • mtfsoft
  • 2012年08月15日 21:49
  • 613

discuz主题列表页伪静态化设置方法(lnmp+wamp+lamp通用)

大家都知道在discuz程序中,伪静态化后,门户文章跟帖子内容都可以设置成功并能正常的访问,但是在论坛帖子的列表页却还是动态的地址:http://www.52hgn.com/forum.php?gid...

html静态页面上的动态点击数

  • 2010年06月29日 16:25
  • 11KB
  • 下载

动态代理的实现2-编写可生成代理和插入通告的通用方法 .

//一个通告或建议的接口 public interface Advice { void afterMethod(Method method); void beforeMethod(Metho...

JSP生成静态HTML页面的几种方法

  • 2011年12月13日 12:35
  • 18KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通用动态生成静态HTML页方法
举报原因:
原因补充:

(最多只允许输入30个字)