新建java project,引入freemarker.jar, 本工程是用的版本:freemarker-2.3.20 版本
java工程目录如下:
test.ftl文件
name : ${name} age : ${age}
test类
package com.freemarker; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.HashMap; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; public class Test { public static void main(String[] args) throws IOException, TemplateException { //1.创建配置实例Cofiguration Configuration cfg = new Configuration(); //2.设置模板文件目录 //(1)src目录下的目录(template在src下) //cfg.setDirectoryForTemplateLoading(new File("src/template")); //(2)完整路径(template在src下) //cfg.setDirectoryForTemplateLoading(new File( // "D:/cpic-env/workspace/javaFreemarker/src/template")); //cfg.setDirectoryForTemplateLoading(new File("src/template")); //(3)工程目录下的目录(template/main在工程下)--推荐 cfg.setDirectoryForTemplateLoading(new File("template/main")); //cfg.setObjectWrapper(new DefaultObjectWrapper()); //获取模板(template) Template template = cfg.getTemplate("test.ftl"); //建立数据模型(Map) Map<String, String> root = new HashMap<String, String>(); root.put("name", "cxl"); root.put("age", "25"); //获取输出流(指定到控制台(标准输出)) Writer out = new OutputStreamWriter(System.out); //StringWriter out = new StringWriter(); //System.out.println(out.toString()); //数据与模板合并(数据+模板=输出) template.process(root, out); out.flush(); } }
运行结果:
name : cxl age : 25
相关推荐
在Java工程中使用FreeMarker可以将数据模型和模板分离,使得程序员负责处理逻辑,而设计师则专注于页面的布局和设计。以下是关于在Java工程中使用FreeMarker的详细说明: 1. **引入FreeMarker库**: - 首先,你...
在这个“freemarker简单例子”中,我们将深入理解Freemarker的基本概念、配置以及如何在实际项目中使用。 1. **Freemarker基本概念** - **模板(Template)**:Freemarker的核心是模板,它定义了最终输出的静态...
在Java Web开发中,FreeMarker与后端控制器如Servlet或Spring MVC中的Controller协同工作,允许开发者将业务逻辑与视图层分离。FreeMarker模板文件(通常以`.ftl`为扩展名)包含了动态内容的占位符,这些占位符会在...
在这个"freemarker示例工程"中,它与Struts2框架结合使用,构建了一个完整的MVC(Model-View-Controller)架构的应用。Struts2是Apache软件基金会的开源项目,是一个基于MVC设计模式的Java web框架,它提供了对...
标签“freemarker例子”和“直接运行”提示我们可以找到一些实际运行的示例来进一步理解这些概念。在提供的压缩包中,虽然没有具体的文件,但通常会包含一个示例工程,里面可能有配置文件、Freemarker模板文件和处理...
在这个例子中,`hello` 方法返回的 "hello" 就是 FreeMarker 模板的名称,Spring 会自动查找对应的 `hello.ftl` 文件。 ### 5. 运行与测试 完成上述配置后,启动 Spring 应用,访问 `http://localhost:8080/hello`...
在这个例子中,`products`是一个列表,`product`是列表中的每个元素。FreeMarker的`<#list>`指令用于迭代列表,而`<td>`元素用于填充单元格内容。 为了将FTL模板转换为Word文档,你需要使用一个库,如Apache POI。...
在这个特定的案例中,工具使用了FreeMarker作为模板语言,这是一个强大的、轻量级的Java模板引擎,常用于生成动态内容。 FreeMarker是一个与任何应用程序服务器或者框架无关的模板引擎,它的主要工作原理是将预先...
官方例子中,数据模型包含了一个地址和电话,模板通过简单的标记将这些数据插入到输出中。 快速入门Freemarker,首先你需要创建一个Spring Boot项目,并添加对Freemarker的支持。这可以通过在`pom.xml`文件中添加`...
在这个例子中,`home`方法返回的`ModelAndView`对象包含了视图名"index"和一个模型数据,模型数据将在`index.ftl`模板中被引用。 在`index.ftl`模板中,你可以这样使用模型数据: ```html <!DOCTYPE html> ...
Java MVC框架是软件开发中广泛使用的模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这个标题所指的“很好的JAVA的MVC框架应用实例”很可能是提供了一个使用Java实现MVC...
通过这个简单的SSH工程实例,你可以了解到Java Web开发中的MVC架构、依赖注入和对象关系映射的基本原理。随着对SSH框架的深入学习,你将能够更好地处理复杂的业务场景,提高开发效率。记得实践是检验真理的唯一标准...
在这个例子中,`/HelloWorld.jsp`将显示"Hello, Struts2!"消息。 Struts2还提供了拦截器(Interceptor)机制,允许开发者插入自定义的行为,如日志、权限检查等。这些拦截器可以按照预定义的顺序执行,增强了Action...
4. **Maven**:在这个例子中,项目使用了 Maven 作为构建工具。Maven 通过 `pom.xml` 文件管理项目的依赖关系,编译、测试和打包应用。`hdicmaven Maven Webapp` 可能是项目的目录结构,表示这是一个基于Maven的Web...
在Java Web开发中,Spring MVC框架是应用这一模式的典型例子。源码中可能包含了对应的控制器类、模型类和视图逻辑。 2. **数据库交互**:为了存储和检索求职者信息、职位信息等,源码中很可能涉及到与数据库的交互...
这个例子工程虽然简单,但它涵盖了这些框架的基础使用,对于初学者理解三大框架的集成和CRUD操作有着很好的指导意义。通过深入学习和实践,开发者可以进一步掌握更复杂的应用场景,提升自己的开发技能。
在本例子中,我们将深入探讨Struts框架的核心概念和主要组成部分。 1. **MVC模式**: MVC模式是软件工程中常用的一种设计模式,用于分离业务逻辑(Model)、用户界面(View)和控制器(Controller)。Struts框架将...
在这个入门例子中,我们将探讨如何设置Struts2环境,配置`web.xml`,创建Action类以及理解Struts2的工作流程。 首先,我们需要一个开发环境,这里使用的是JDK1.6、Myeclipse 6.6和Tomcat6.0。为了使用Struts2,你...
在本例子中,Spring 3.0 被用来进行依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP),从而提高代码的可测试性和可维护性。Spring 提供了一个统一的容器来管理对象,如...
在这个例子中,当用户访问 `/login` 并提交表单时,DispatcherServlet 会找到对应的 Controller 方法处理请求。 7. **优点**: - 低耦合:Spring MVC 提供了很好的分层架构,降低了组件间的依赖。 - 易于测试:...