예제 #1
0
        /// <summary>
        /// 输出到客户端浏览器
        /// </summary>
        /// <param name="request"></param>
        /// <param name="response"></param>
        /// <param name="templateName">Velocity模板文件名称</param>
        /// <param name="dict">Velocity模板文件所用到的数据字典</param>
        /// <param name="isGenerateFile">是否生成静态文件</param>
        /// <param name="isUseLocalCache">是否只使用本地缓存的方式存放静态文件(例如:Google爬虫收录的页面,只需要在本地生成静态文件。)</param>
        public static void Print(HttpRequest request, HttpResponse response, string templateName, Dictionary <string, object> dict, bool isGenerateFile, bool isUseLocalCache)
        {
            string fileContent      = null;
            string absoluteFilePath = null;

            if (isGenerateFile)
            {
                absoluteFilePath = request.RequestContext.HttpContext.Items[NVelocityBus.NVELOCITY_TARGET_FILE_PATH] as string; //改从上下文对象里面获取,2015-11-17。
                //当设置生成静态页面时才会生成静态的文件。
                fileContent = NVelocityBus.MergeAndGenerateFile(templateName, dict, absoluteFilePath, isUseLocalCache);
            }
            else
            {
                //没有设置生成静态文件,并且不满足生成条件的,一律按动态页面处理。
                fileContent = NVelocityBus.MergeVM(templateName, dict);
            }
            if (!string.IsNullOrWhiteSpace(fileContent))
            {
                NVelocityBus.Output(request, response, fileContent, absoluteFilePath, isGenerateFile);
            }
        }