`
joan0106
  • 浏览: 141095 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Java freemarker生成html页面

    博客分类:
  • JAVA
阅读更多
public class FreemarkerTest { 
private final Log logger=LogFactory.getLog(getClass()); 

private Configuration freemarke_cfg=null; 

protected Configuration getFreeMarkerCFG(String sTemplateFilePath){ 

    if(null==freemarke_cfg){ 
          freemarke_cfg=new Configuration(); 
          freemarke_cfg.setEncoding(Locale.CHINA, "UTF-8"); 
         //基于类路径的模版加载器 
      freemarke_cfg.setClassForTemplateLoading(this.getClass    (), "/websiteroot/freemarker"); 
      try{ 
            freemarke_cfg.setDirectoryForTemplateLoading(new File (sTemplateFilePath)); 
     }catch (Exception e) { 
           e.printStackTrace(); 
     } 
  } 
    return freemarke_cfg; 
} 

/** 
*生成静态文件 
*@param templatePath:模板路径 
*@param templateFileName:模板名称 
*@param propMap:存放数据模型的Map 
*@param htmlFilePath:生成HTML页面的存放路径 
*@param htmlFileName:生成html页面的名称 
* */ 
    public boolean geneHtmlFile(String templatePath,String templateFileName,Map propMap,String htmlFilePath,String htmlFileName){ 
    try{ 
    Template t=getFreeMarkerCFG(templatePath).getTemplate(templateFileName); 
    t.setEncoding("UTF-8"); 
    creatDirs(htmlFilePath); 
        File afile = new File(htmlFilePath+"/"+htmlFileName);
 
        //设置生成的文件编码为UTF-8 
        //服务器不支持UTF-8格式HTML时候使用ANSI格式HTML文件,即系统默认编码 
        Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(afile),"UTF-8")); 
        t.process(propMap, out); 
      }catch(TemplateException e){ 
        logger.error("Error "+templateFileName,e); 
          return false; 
      }catch(IOException e){ 
        logger.error("Error "+htmlFileName,e); 
          return false; 
      } 
      return true; 
    } 
    
    public static boolean creatDirs(String path){      
        File aFile = new File(path); 
        if(!aFile.exists()){ 
          return aFile.mkdirs(); 
        }else{ 
          return true; 
       } 
    } 
}

 

 

分享到:
评论

相关推荐

    freemarker+html生成pdf.zip

    `Freemarker`是一个强大的模板引擎,通常用于动态生成HTML、XML等文本格式,而将`Freemarker`与HTML模板结合生成PDF,可以充分利用HTML的易编辑性和富文本特性,为用户提供高质量的文档输出。下面我们将深入探讨如何...

    freeMarker生成html实用例子

    这个"freeMarker生成html实用例子"很可能是提供了一些实际应用FreeMarker模板语言来生成HTML页面的示例代码。下面我们将深入探讨FreeMarker的核心概念、如何使用它以及其在生成HTML中的优势。 1. **FreeMarker核心...

    基于freemarker的JAVA代码生成工具

    Freemarker是一个强大的模板引擎,它支持动态语言,常用于生成HTML页面或者其他文本文件。在Java领域,Freemarker被广泛应用于邮件模板、动态报表生成以及代码生成等场景。它通过定义模板文件,结合数据模型,可以...

    通过freemarker模板 生成PDF

    3. **处理模板**:使用Freemarker API的`Configuration`和`Template`类,将数据模型应用到模板上,生成HTML字符串。 4. **调用wkhtmltox**:通过Java绑定库,将生成的HTML字符串转换为PDF。 5. **保存PDF**:将生成...

    springboot整合freemarker生成静态html的demo.zip

    在本项目"springboot整合freemarker生成静态html的demo.zip"中,我们将探讨如何将SpringBoot框架与FreeMarker模板引擎结合,以实现动态数据驱动的静态HTML页面生成。FreeMarker是一个强大的、开源的模板语言,它允许...

    SpringBoot+JPA+Freemarker 生成动态SQL

    结合SpringBoot和JPA,我们可以创建一个服务,该服务使用JPA的Repository接口与数据库进行交互,并通过Freemarker生成动态SQL。具体步骤如下: 1. **设置项目**:创建一个SpringBoot项目,添加Spring Data JPA和...

    使用FreeMarker生成Html静态文件

    标题“使用FreeMarker生成Html静态文件”暗示了我们将探讨如何利用FreeMarker将动态数据转化为静态的HTML页面。这一过程通常涉及以下几个步骤: 1. **配置FreeMarker**: 首先,我们需要在Java项目中引入FreeMarker...

    JAVA集成Freemarker生成静态html过程解析

    Java集成Freemarker生成静态HTML的过程是一个常见的技术实践,它能提高网站的加载速度和用户体验。下面我们将详细探讨这个过程。 首先,集成Freemarker需要引入相应的依赖。在Spring Boot项目中,我们可以添加`...

    java代码生成html文件

    通过Java生成HTML,我们可以将数据结构转化为用户友好的网页格式,便于在浏览器中查看。 标题 "java代码生成html文件" 指的是利用Java编程语言编写代码,生成HTML文档。HTML(HyperText Markup Language)是网页...

    freemarker生成静态html示例

    在这个Eclipse项目中,你可能需要创建一个Java类来提供数据模型,然后使用Freemarker API来加载模板文件,并结合数据模型生成HTML。这通常涉及到以下几个步骤: 1. 创建数据模型(如Java对象)。 2. 初始化...

    实用方便freemarker.jar freemarker架包 freemarker生成excel、word、html、xml例子

    2. 使用FreeMarker生成HTML: 在Web开发中,FreeMarker常用于生成动态HTML页面。首先,创建一个HTML模板,其中包含`${}`内的变量,这些变量将在运行时被Java对象的属性值替换。然后,创建一个Java类,设置需要的...

    freemarker导出doc及docx

    在Web应用中,通常用于生成动态HTML页面。但Freemarker并不仅限于此,它也可以用于生成各种类型的文档,如Word文档(.doc, .docx)。 **2. SpringBoot整合Freemarker** SpringBoot简化了Freemarker的集成。在...

    Java freemarker demo 【struts + freemarker】 自己修改的一个小例子

    Java FreeMarker是一个强大的模板引擎,常用于Web开发中生成动态HTML页面。在这个“Java FreeMarker demo 【Struts + FreeMarker】”示例中,我们将会探索如何将FreeMarker与Struts框架结合,以实现MVC(Model-View-...

    freemarker生成静态网页

    Freemarker是一个强大的模板引擎,常用于Web应用中动态生成HTML或其他类型的文本文件。它以简洁的语法和灵活的功能著称,使得开发者可以专注于数据的处理,而不用关心页面的呈现细节。本篇文章将深入探讨如何使用...

    freemarker.jar freemarker架包 freemarker生成excel、word、html、xml简单例子

    3. **生成HTML**:这是Freemarker最常用的功能之一,它广泛应用于Web应用的视图层,将后台数据与HTML模板结合,动态生成网页。开发者创建HTML模板,用`<#...>`标签定义控制逻辑,`${...}`插入变量,然后使用...

    Java html转word 使用FreeMarker

    同时,这个描述中还提到了转换为PDF格式,虽然FreeMarker本身不直接支持PDF生成,但可以结合其他库,如Apache POI或iText,先用FreeMarker生成HTML或Word,再转换为PDF。 在实际应用中,这个过程可能会涉及到一些...

    freemarker生成doc方案.pdf(内附代码下载地址)

    Freemarker是一个基于Java的模板引擎,可以用来生成文本输出(包括HTML网页、配置文件、源代码等)。它使用一种“模板+数据”的方式生成最终结果,因此特别适合于生成动态文档。Freemarker本身不依赖于外部框架,...

    FreeMarker教你如何生成html静态页面源码

    7. **部署和维护**:生成的静态HTML页面可以部署到Web服务器上,供用户访问。由于它们不涉及服务器端的动态处理,所以性能往往更好。同时,由于数据和显示分离,更新内容时只需修改数据模型,无需触碰HTML,降低了...

    freemarker+itext生成PDF

    在Java应用中,FreeMarker通常与Servlet容器一起使用,用于生成动态网页内容,但也可以用来生成任何类型的文本输出,包括PDF。 接下来是Itext。Itext提供了一系列API,可以方便地创建PDF文档,包括添加文本、图像、...

Global site tag (gtag.js) - Google Analytics