`
hyl198611
  • 浏览: 228193 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

页面静态化

阅读更多

    /**
     * 生成静态文件.
     *
     * @param templateFileName
     *            模板文件名,相对htmlskin路径,例如"/tpxw/view.ftl"
     * @param propMap
     *            用于处理模板的属性Object映射
     * @param htmlFilePath
     *            要生成的静态文件的路径,相对设置中的根路径,例如 "/tpxw/1/2005/4/"
     * @param htmlFileName
     *            要生成的文件名,例如 "1.htm"
     * @param templateFilePath
     *            模板路径
     * @return boolean true代表生成文件成功
     */
    @SuppressWarnings("unchecked")
    public void createHtmlFile(String templateFileName, Map propMap,
                               String htmlFilePath, String htmlFileName, String templateFilePath) {

        try {
            Template t = this.getFreeMarkerCFG(templateFilePath).getTemplate(
                    templateFileName);
            // 如果根路径存在,则递归创建子目录
            this.creatDirs(htmlFilePath);
            File afile = new File(htmlFilePath + "/" + htmlFileName);
            Writer out = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(afile)));
            t.process(propMap, out);
            out.flush();
            out.close();
        } catch (TemplateException e) {
            System.out.print(e.getMessage());
        } catch (IOException e) {
            System.out.print(e.getMessage());
        } catch (Exception e) {
            System.out.print(e.getMessage());
        }
    }

 

    /**
     * 获取freemarker的配置. freemarker本身支持classpath,目录和从ServletContext获取.
     * @param templateFilePath
     * @return Configuration 返回freemaker的配置属性
     * @throws Exception
     */
    private Configuration getFreeMarkerCFG(String templateFilePath)
            throws Exception {
        if (null == this.freemarker_cfg) {

            this.freemarker_cfg = new Configuration();
            try {
                this.freemarker_cfg.setDirectoryForTemplateLoading(new File(
                        templateFilePath));
            } catch (Exception ex) {
                throw ex;
            }
        }
        return this.freemarker_cfg;
    }

 

    /**
     * 创建多级目录
     * @param path
     * @return boolean 是否成功
     */
    private boolean creatDirs(String path) {
        File aFile = new File(path);
        if (!aFile.exists()) {
            return aFile.mkdirs();
        } else {
            return true;
        }
    }

分享到:
评论

相关推荐

    .net页面静态化

    下面我们将深入探讨.NET页面静态化的核心概念、实现方法以及其优势。 一、页面静态化原理 页面静态化的基本思想是,在用户请求动态内容时,服务器不再实时生成动态页面,而是直接返回已经生成的静态HTML文件。这...

    有关Java页面静态化

    Java页面静态化主要有两种方式:服务器端静态化和客户端静态化。 1. 服务器端静态化: - **预渲染(Prerendering)**:在用户请求之前,系统自动将一些常用或者热点页面生成静态HTML文件,存储在文件系统或CDN上。...

    java JSP页面静态化总结_动态页面变为静态页面以减少访问数据库的次数提高速度.zip

    1. **JSP页面静态化原理**: - JSP页面静态化的核心思想是将原本需要服务器实时解析的动态内容,提前转换为静态HTML文件,存储在服务器上。这样,当用户请求这些页面时,服务器不再需要执行JSP脚本,而是直接返回...

    java 页面静态化

    在进行页面静态化时,我们还需要考虑一些问题,比如如何处理动态内容(如用户登录状态、个性化推荐)、如何同步静态文件和动态数据、以及如何清理过期的静态文件等。这些问题可以通过设计合理的缓存策略和定时任务来...

    c# 页面静态化软件

    因此,页面静态化是提升网站性能的有效手段。 页面静态化技术的核心原理是通过解析动态网页的URL,生成对应的HTML文件,并存储在服务器的文件系统或缓存中。当用户请求该URL时,服务器直接返回预先生成的HTML,而...

    php页面静态化

    PHP页面静态化是一种常见的优化网站性能的技术,它将动态生成的网页内容转化为静态HTML文件,以便浏览器可以直接加载,而无需每次请求时都执行PHP脚本和查询数据库。这样可以显著提高页面加载速度,减轻服务器负担,...

    asp.net 动态页面静态化

    在ASP.NET中,动态页面静态化主要有两种方式:预编译(Precompilation)和运行时静态化(Runtime Output Caching)。 1. 预编译: 预编译是ASP.NET提供的一种在部署前将所有ASPX页面转换为编译好的DLL文件的过程。...

    ASP.NET 动态页面静态化

    ### ASP.NET 动态页面静态化详解 #### 一、概念理解 动态页面静态化(Dynamic Page Staticization)是指将动态生成的网页内容转换为静态HTML文件的过程。这一技术广泛应用于提高网站性能、优化SEO(搜索引擎优化)...

    ASP.NET页面静态化例子带数据库.rar

    这个压缩包文件"ASP.NET页面静态化例子带数据库.rar"包含了实现这一技术的具体示例,很可能是通过代码、数据库脚本和配置文件来展示的。 首先,我们要理解ASP.NET页面静态化的概念。在ASP.NET中,通常网页是动态...

    php实现页面静态化

    其中一种常见的方法就是实现页面静态化。本文将详细介绍如何使用 PHP 来实现页面静态化,包括纯静态化和伪静态化两种方式,并通过具体的案例进行演示。 #### 二、基础知识 **页面静态化**是指将动态生成的网页转换...

    jsp的页面静态化技术,很实用

    **JSP页面静态化技术详解** 在Web开发中,JavaServer Pages(JSP)是一种常见的动态网页技术,它允许开发者将HTML代码与Java代码混合编写,以实现动态内容的生成。然而,在高流量的网站中,为了提高性能和降低...

    自定义分页类+页面静态化+php

    实现页面静态化的方法有多种,包括后台定时生成、用户访问时实时生成或缓存等。 在PHP中,我们可以利用文件系统操作函数来读写静态HTML文件。例如,当用户访问一个动态页面时,程序首先检查是否存在对应的静态文件...

    SpringBoot2 整合FreeMarker模板,完成页面静态化处理.docx

    【SpringBoot2 整合FreeMarker模板,完成页面静态化处理】 在Web开发中,页面静态化是一种提高网站性能和用户体验的技术。它涉及到将原本动态生成的页面转换为静态HTML文件,减少对服务器的依赖,加快页面加载速度...

    php 页面静态化

    php 页面静态化

    cms页面静态化源码

    标题“cms页面静态化源码”表明我们将探讨如何通过源代码实现CMS系统中的页面静态化功能。 在动态网站中,每当用户请求一个页面时,服务器都会执行相应的PHP、Java、Python或其它脚本语言,生成HTML内容,然后将其...

    动态页面静态化技术,c#技术

    动态页面静态化技术,c#技术 动态页面静态化技术,c#技术

    网站架构(页面静态化_图片服务器分离_负载均衡)方案全解析

    本文将深入解析网站架构中的三项关键技术:页面静态化、图片服务器分离以及负载均衡,并探讨它们如何协同工作以提升网站性能。 #### 1. 页面静态化 页面静态化是一种提高网站访问速度的有效手段。通过将动态生成的...

    ASP.NET页面静态化,伪静态化

    ASP.NET页面静态化和伪静态化是Web开发中提高网站性能和SEO优化的重要技术。页面静态化是指将原本动态生成的HTML页面转化为静态HTML文件,这样用户请求时无需执行服务器端的代码,直接从硬盘读取文件,提高了访问...

    页面静态化之真静态

    页面静态化是Web开发中的一种优化策略,主要目的是提高网站的加载速度和用户体验,同时也有助于搜索引擎优化(SEO)。真静态,顾名思义,就是将动态网页转化为静态HTML文件,用户请求时直接返回这些预生成的HTML,而...

Global site tag (gtag.js) - Google Analytics