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

freemarker测试

阅读更多
在Webwork、Freemarker结合中,Freemarker的Configuration可通过Webwork提供的FreemarkerManager来帮助构造一个实例,往往是通过Listener的方式利用ServletContext实例
来构造。
Freemarker本身只是专注于模板解决方案,所以脱离Web环境依然是可以用作模板格式化的。
 private void init() {
        config = new Configuration();  //自己构建一个简单的带有默认值的CFG
        URL dir = ClassLoader.getSystemResource("template"); //获取装有FTL的目录
        File file = new File(dir.getFile());
        System.out.println(dir.getFile());
        try {
            config.setDirectoryForTemplateLoading(file); //设定默认模板目录
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
//    测试运行
    @SuppressWarnings("unchecked")
    public void run() {
        try {
            Map map = new HashMap();
            map.put("name", "fish");
            map.put("script", "<script>alert('test');</script>");
            Template template = config.getTemplate("test.ftl", "utf-8");
            //Reader reader = new CharArrayReader("name = ${name} and script= ${script}".toCharArray());
            //Template template = new Template("tp1", reader, config);
            Writer out = new OutputStreamWriter(System.out);
            //Writer out = new CharArrayWriter();
            template.process(map, out);
            //System.out.println(out.toString());
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }


其中test.ftl放在初始化对应的包下
template/test.ftl
内容:
  
 the name is ${name}, and the script is ${script}
    html: ${script?html}
    xml:${script?xml}
    js : ${script?js_string}
    xml_js : ${script?xml?js_string}
    <#function test d t>
     <#if d gt t>
  <#return ">">
 <#else>
  <#return "<=">
 </#if>
    </#function>
    3 ${test(3,5)} 5
    6 ${test(6,5)} 5

注意,这里是作为文件模板输入了引擎, 同理我们可以通过自己构造Template来实现内存变量的格式化输出、以及能够包装为Reader的任意IO流的输入。
通过template.process(map, out);这个方法可以看到,我们可以给一个任意输出流,可以通过改变实现类实现输出到网络、文件、内存变量等等任意IO流可到达的地方。
分享到:
评论

相关推荐

    刘宝宝FreeMarker测试类

    FreeMarker测试类

    freemarker-online-tester:Apache FreeMarker在线测试仪

    FreeMarker在线测试仪 什么是FreeMarker在线测试仪 这是一个网页,可通过一些简单的数据模型快速尝试模板片段。 这对于学习模板语言特别方便。 对于此工具的已部署版本,您可以访问 。 开发说明 将存储库克隆到本地...

    freemarker

    此外,有一些在线的Freemarker测试工具,方便快速验证模板语法的正确性。 总结来说,Freemarker是一款强大的模板引擎,通过分离视图和业务逻辑,简化了Web开发的工作流程。通过学习和实践,开发者可以更高效地构建...

    FreeMarker概述API

    此外,还有一些在线的FreeMarker测试工具,比如FreeMarker Online Compiler,可以帮助开发者快速检查模板语法的正确性。 ### 5. 实战应用 在实际项目中,FreeMarker常被用于生成邮件内容、报表、静态网页等。例如...

    freemarker编辑插件

    Freemarker是一款强大的模板语言,常用于Web开发中的视图层渲染,特别是在Java环境中与Spring框架结合使用。它允许开发者将逻辑与展示分离,提高代码的可读性和维护性。在开发过程中,为了提高效率,我们可以使用...

    freemarker-ide-0.9.14.zip,测试可用版本

    "eclipse安装freemarker,测试可用"表明这个版本的插件已经在Eclipse环境中经过测试,确保能够正常工作。 总的来说,这个压缩包提供了一个用于Eclipse的Freemarker插件,帮助开发者更高效地管理和开发Freemarker...

    freemarker各种版本的jar包

    以下是对给定的Freemarker不同版本jar包的详细说明: 1. **Freemarker 2.3.19**: - 这个版本可能包含了一些基本的功能,如模板语言的语法,变量、表达式和控制结构。 - 它可能已经支持了数据模型绑定,允许...

    freemarker模板使用

    Freemarker是一个强大的开源模板...结合提供的"freemarker"压缩包,你可以进一步学习和实践这些概念,通过创建和测试模板来提升对Freemarker的理解和应用能力。记得在模板设计时保持清晰、简洁,确保易于维护和扩展。

    freemarker生成html

    #### 一、Freemarker简介 Freemarker是一个用Java编写的模板引擎,它可以生成任何格式的文本输出,包括HTML、XML、纯文本等。它将业务逻辑与表现层分离,使开发人员能够专注于业务逻辑的实现,而将页面布局和样式的...

    freemarkerdemo 生成word 插入图片

    它可能包含了如何设置Freemarker模板,如何处理图片数据,以及如何启动和测试这个功能的详细步骤。 7. **FreeMarkerDemo**:这个文件可能是一个Java类,实现了Freemarker和Apache POI的集成,用于生成Word文档并...

    struts2+freemarker

    1. **分离关注点**:通过Struts2处理业务逻辑和控制流程,Freemarker处理视图展示,实现了业务逻辑与表现层的分离,提高了代码的可维护性和可测试性。 2. **动态内容渲染**:Freemarker模板允许开发者根据数据动态...

    Freemarker通用select下拉框

    Freemarker是一个强大的模板引擎,常用于...在实际项目中,你可能会遇到更复杂的情况,如分页、级联选择等,但基本原理是相同的:使用Freemarker动态生成HTML,结合后端服务提供数据,最后通过测试确保功能的正确性。

    FreeMarker

    可以通过简单的控制台输出测试 FreeMarker 是否正确配置。这通常涉及到设置模板、创建数据模型以及生成输出。 #### 文件输出 除了控制台输出外,FreeMarker 还可以将输出保存到文件中。这对于生成静态页面特别有用...

    Freemarker分页

    7. **测试与调试**:最后,通过Eclipse等IDE运行项目,查看页面是否正确显示分页效果,确保点击分页链接能够正确跳转并加载对应页面的数据。 以上就是关于"Freemarker分页"的例子所涉及的关键知识点。通过这个例子...

    FreeMarker生成word文件

    7. **测试与调试**:`test.doc`可能是使用FreeMarker生成的一个测试Word文档,用于验证模板和数据模型的正确性。开发者通常会创建多个测试案例,以确保不同情况下的文档都能正确生成。 8. **模板设计**:`如何利用...

    Freemarker实现excel导出功能

    3. 可能还包含了一些测试数据和运行项目的说明。 通过研究这个例子,你可以看到如何将理论知识应用到实际项目中,理解Freemarker和POI的协作过程。 总结,使用Freemarker实现Excel导出功能,主要是通过模板语言...

    freemarker wrod 统计图的生成

    FreeMarker 是一个强大的模板引擎,常用于动态生成HTML、Word等文档。在Word文档中生成统计图是一项常见的需求,尤其在数据分析和报告制作时。...记得根据实际情况调整和测试代码,确保其在你的项目中正常工作。

    freemarker语法完整版

    `: 缺失值测试操作符。 **12. 模板注释** - `注释 --&gt;` 不会被输出。 **13. 内置方法** - 序列、哈希和数字的内置方法。 - 示例: ```freemarker sequence?size hash?values ``` **14. 常见问题与解决方案*...

    FreeMarker 写的一个分页macro(宏)测试

    在这个"FreeMarker 写的一个分页macro(宏)测试"中,我们可以看到如何使用FreeMarker来实现一个简单的分页功能。下面我们将深入探讨这一主题。 首先,`PaginationUtil.java`可能是实现分页逻辑的工具类。在Java中,...

Global site tag (gtag.js) - Google Analytics