`
anson_xu
  • 浏览: 513871 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类

freemarker调用模板.ftl文件,生成静态shtml文件

阅读更多
public class ControllerServletS extends HttpServlet {
private Configuration cfg;
public void init() {
          // 初始化FreeMarker配置;
          // - 创建一个配置实例
        cfg = new Configuration();
          // - 设置模板目录.
        cfg.setServletContextForTemplateLoading(
                getServletContext(), "WEB-INF/tmpl");
          // - 设置模板延迟时间,测试环境设置为0,正是环境可提高数值.
        cfg.setTemplateUpdateDelay(0);
          // - 设置错误句柄
        cfg.setTemplateExceptionHandler(
                TemplateExceptionHandler.HTML_DEBUG_HANDLER);
        cfg.setObjectWrapper(ObjectWrapper.BEANS_WRAPPER);
          // - 设置默认模板编码
        cfg.setDefaultEncoding("gbk");
          // - 设置输出编码
        cfg.setOutputEncoding("gbk");
        cfg.setLocale(Locale.SIMPLIFIED_CHINESE);
    }
Template t = cfg.getTemplate(page.getTemplate());
//此处调模板直接输出到终端显示,不生成静态页面.
//Writer out = resp.getWriter();
//try {
                //t.process(page.getRoot(), out);
         //   } catch (TemplateException e) {
              //  throw new ServletException(
                      //  "加载FreeMarker模板出错", e);
           // }

此处生成静态页面
try{
  Template t=cfg.getTemplate(templateFileName);
  File afile=new File(htmlFilePath+htmlFileName);
  Writer out=new OutputStreamWriter(new FileOutputStream(afile),"GB2312");
  StringWriter write=new StringWriter();
  write.flush();
  t.process(propMap, out);
  System.out.println(write.toString());
  }catch(TemplateException e){
  logger.error("error"+templateFileName,e);
  return false;
  }catch(IOException e){
  logger.error("error"+htmlFileName,e);
  return false;
  }
}
分享到:
评论

相关推荐

    Freemarker代码生成器实体映射xml的ftl模板文件

    这个`XML.ftl`文件就是核心,它是Freemarker模板的实例,其中定义了如何根据输入数据生成XML实体映射文件的规则。 首先,让我们深入理解Freemarker模板。FTL文件由一系列指令和表达式组成,这些指令和表达式决定了...

    freemarker-2.3.28.jar

    Freemarker是一个强大的模板引擎,主要用于生成动态HTML、XML或其他文本格式的文件,广泛应用于Web应用开发中。这个"freemarker-2.3.28.jar"是Freemarker库的一个具体版本,版本号为2.3.28,它是Java的一个可执行的...

    Java生成word文档(仅一个文档模板原件和转换后缀为.ftl格式文件)

    本主题聚焦于如何利用一个文档模板原件和将其转换为.ftl(FreeMarker)格式来生成动态的Word文档。FreeMarker是Java的一个模板引擎,常用于生成HTML、XML等静态或动态文本,但也可扩展到生成Word文档。 首先,理解...

    Java freemarker 模板生成word动态表格

    1. **FreeMarker模板引擎**:FreeMarker是一个独立于任何Web框架的Java库,它的主要任务是将模板(.ftl文件)和数据模型结合起来,生成文本输出。模板语言是声明式的,这意味着你只需要描述“应该怎样显示”,而不是...

    freemarker-2.3.13.jar.zip

    开发人员会创建Freemarker模板文件(通常以".ftl"为扩展名),然后在后端代码中实例化`Template`对象,设置数据模型,最后通过`Template`对象的`process`方法生成最终输出。 总之,Freemarker作为一款强大的模板...

    基于Freemarker模板的代码生成器后台代码(controller,service,dao)模板文件

    这个压缩包提供的就是一套基于Freemarker模板的代码生成器模板文件,分别对应控制器(Controller)、实体类(Bean)、服务接口(Service)和服务实现(ServiceImpl)、数据访问对象(Dao)。 1. **Controller.ftl**...

    freemarker_word.zip

    1. **Product.ftl**:这是一个FreeMarker模板文件,扩展名为FTL(FreeMarker Template Language)。FTL文件通常包含HTML或XML样式的标记,以及FreeMarker指令和变量,它们会被数据模型中的值替换。在本例中,`...

    Freemarker-2.3.8.jar、urlrewrite-2.6.0.jar

    主辅料: Freemarker-2.3.8.jar、urlrewrite-2.6.0.jar 副辅料: freemarker-ide-0.9.14 ...freemarker-ide-0.9.14是一个eclipse的插件,实现编辑*.ftl文件的语法高亮,以及语法提示问题。方便模板的编写以及语法校验。

    基于Freemarker模板的代码生成器前台页面模板文件

    在给定的压缩包文件中,我们可以看到几个关键的FTL(FreeMarker Template Language)文件,它们是代码生成器的前台页面模板,包括Browse.ftl、EditPage.ftl、AddPage.ftl和Detail.ftl。 1. **Browse.ftl**:这个...

    freemarker-2.3.8.jar

    在“java导出ppt项目”中,`freemarker-2.3.8.jar`可能被用来生成PPT文件的模板部分。通过Freemarker,开发者可以创建一个PPT模板,定义好布局和样式,然后根据需要填充动态数据。这种方式可以让PPT的生成过程更加...

    freemarker.jar

    camel-freemarker-1.6.4.jar, camel-freemarker-2.8.1.jar, ...freemarker-1.4.1.jar, freemarker-2-3-18.jar, freemarker-2.1.5.jar, freemarker-2.2.5.jar, freemarker-2.2.8.jar,...freemarker.jar, freemarker2_03.jar

    通过freemarker模板 生成PDF

    1. **创建Freemarker模板**:编写一个`.ftl`文件,包含HTML和Freemarker指令。 2. **准备数据模型**:在Java代码中,创建一个对象或Map,包含将要填充到模板中的数据。 3. **处理模板**:使用Freemarker API的`...

    apache-freemarker-2.3.27-incubating-bin.tar.gz

    FreeMarker的工作原理是,它根据预先定义好的模板(.ftl文件)和数据模型来生成最终的输出。开发者可以设计模板,将动态数据和静态布局相结合,使得代码与视图完全分离,有利于提高代码的可维护性和可扩展性。在描述...

    freemarker-2.3.22.jar

    freemarker-2.3.22.jar用于生成word模板核心工具包,非常好用!详细操作使用,请参考我的文章链接:https://blog.csdn.net/qq_45978154/article/details/125065400?spm=1001.2014.3001.5502

    freemarker-2.3.19.jar

    Freemarker是一个强大的模板引擎,常用于Java应用中生成动态HTML、XML或其他文本格式的输出。这个"freemarker-2.3.19.jar"文件是Freemarker库的一个特定版本,即2.3.19。在Java环境中,JAR(Java Archive)文件是一...

    java生成静态页面——Freemarker实例教程.docx

    直接下载Freemarker的jar包,例如`freemarker.2.3.16.jar`,并将其添加到项目的类路径中。 - **下载地址**:可以通过网络资源找到相应的下载链接,如CSDN的下载页面。 2. **使用Maven依赖** 如果项目使用...

    dwrDemo.rar_生成 静态

    5. **FreeMarker模板**:`.ftl`文件,用于定义HTML结构和如何展示服务器返回的数据。 6. **HTML页面**:可能是生成的静态HTML页面,由FreeMarker模板和DWR结合数据生成。 通过这个dwrDemo,开发者可以学习到如何...

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

    上述代码中,`Model`对象用于存储要在模板中使用的数据,`return "index"`表示我们要使用`index.ftl`模板来生成响应。 此外,如果想要通过字符串生成HTML,可以使用`FreemarkerTemplateUtils`类(需要引入`spring-...

    freemarker生成xml示例

    2. **Freemarker模板(Template)**:这是一个`.ftl`文件,里面定义了XML的结构和如何填充数据。例如,一个简单的模板可能如下所示: ```ftl ${person.name} ${person.age} ``` 在这个模板中,`...

Global site tag (gtag.js) - Google Analytics