这今天“弄”军哥的管理系统,里面由涉及到一部分的FreeMarker的知识,并且我那些学生在亚信实习也涉及到这部分的知识,所以想开始总结一些FreeMarker,正好我可开始使用一下Maven,简单的入门!如果这里有什么不会的,我的学生请留言或者在QQ上挑逗一下我,哈哈!我只对我的学生负责,如果是大神级别的就不要麻烦我了!谢谢理解!

关于如何在MyEclipse2014搭建Maven环境,抱歉这里就不说了!有想知道的,我给学生发视频!


使用Maven快速建立项目:

1.新建Maven项目

直接点击下一步

这里什么都不用管,直接点击下一步即可

使用的是快速搭建,选择好之后,点击NEXT

通过GAV搞定坐标,点击完成即可!


最终的项目结构图如下:

这些类都是我重新写的!

第一步,修改pom.xml文件,代码如下

    <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- 引入Freemarker的依赖 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
</dependencies>

注意:我修改了单元测试的版本号码和依赖了最新的freemarker的支持

第二步,新建模版文件,后缀名一般情况下为ftl,全名为freemarker+template的缩写,demo.ftl的代码如下

你好:${user_name}

这是最简单的形式了

第三步,建立读取demo.ftl的帮助文件,FreemarkerUtil.java文件

public class FreemarkerUtil {

    public Template getTemplate(String name){
try {
//通过Freemarker的Configuration读取相应的ftl
Configuration configuration = new Configuration(Configuration.VERSION_2_3_23);//这里是对应的你使用jar包的版本号:<version>2.3.23</version> //configuration.setDirectoryForTemplateLoading(new File("/ftl")); //如果是maven项目可以使用这种方式
configuration.setClassForTemplateLoading(this.getClass(), "/ftl"); Template template = configuration.getTemplate(name); return template;
} catch (IOException e) {
e.printStackTrace();
} return null;
} public void print(String name,Map<String, Object> root){
//通过Template可以将模版文件输出到相应的文件流
Template template = this.getTemplate(name);
try {
template.process(root, new PrintWriter(System.out));//在控制台输出内容
} catch (TemplateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} } }

第四步,写测试类进行测试

public class FreemarkerTest{

    FreemarkerUtil fu = null;

    @Before
public void init(){
if(fu==null){
fu = new FreemarkerUtil();
}
} @Test
public void 读取模版现实在控制台(){
//1.创建数据模型
Map<String, Object> root = new HashMap<String, Object>();
//2.赋值
root.put("user_name", "胖先生");
//3.将数据模型和模版进行结合输出到控制台显示
fu.print("demo.ftl", root); }
}

进行测试,结果如下,在控制台上可以输入:    你好:胖先生   -->代表成功了!


如果同学不会使用maven那么说明你已经落后了,但是也可以使用普通的jave项目搞定,这里提供了freemarker的下载地址

http://mvnrepository.com/artifact/org.freemarker/freemarker/2.3.23

请自行下载


备注一下,我在使用maven test命令的时候报错了并且解决了

check $M2_HOME environment variable and mvn script match.

解决方法如下:

1.添加M2_HOME的环境变量,这个步骤以前就已经搞定了

2.Preference->Java->Installed JRES->Edit 选择一个jdk

-Dmaven.multiModuleProjectDirectory=$M2_HOME

环境变量中的代码,这里配置上可能有点问题,但是解决上面的问题

[freemarker篇]01.入门Freemarker示例的更多相关文章

  1. Spring Boot入门——freemarker

    使用步骤: 1.在pom.xml中添加相关依赖 <!-- 添加freemarker依赖 --> <dependency> <groupId>org.springfr ...

  2. freemarker的简单入门程序

    本文主要介绍了freemarker的常用标签<#list>   <#import>  <#assign>  <#if> <#else> &l ...

  3. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  4. Spring Boot 揭秘与实战(二) 数据缓存篇 - 快速入门

    文章目录 1. 声明式缓存 2. Spring Boot默认集成CacheManager 3. 默认的 ConcurrenMapCacheManager 4. 实战演练5. 扩展阅读 4.1. Mav ...

  5. iOS开发数据库篇—SQL代码应用示例

    iOS开发数据库篇—SQL代码应用示例 一.使用代码的方式批量添加(导入)数据到数据库中 1.执行SQL语句在数据库中添加一条信息 插入一条数据的sql语句: 点击run执行语句之后,刷新数据 2.在 ...

  6. freemarker学习 (servlet + freemarker -> Struts2+freemarker -> springMVC+freemarker)

    什么是freemarker? freemarker类似于jsp,但不是jsp!怎么说呢?freemarker文件后缀是.ftl,它不像jsp本质是servlet,它将构建模板.解析模板.使用模板分离开 ...

  7. [译]Vulkan教程(01)入门

    [译]Vulkan教程(01)入门 接下来我将翻译(https://vulkan-tutorial.com)上的Vulkan教程.这可能是我学习Vulkan的最好方式,但不是最理想的方式. 我会用“d ...

  8. net core体系-web应用程序-4asp.net core2.0 项目实战(CMS)-第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了   原文链接:https://www.cnblogs.com/yilezhu/p/9985451.ht ...

  9. [freemarker篇]06.超级强大的自定义指令

    Freemarker的自定义指令是很强大的,非常强大,在之后的教程中我会简单的做一个示例,让大家对其有所了解!如果做Freemarker编程,请好好看看API手册,可以说里面的内容很多!也是一门独立的 ...

随机推荐

  1. Eclipse安装颜色主题,个性化你的IDE,让你的IDE焕然一新

    我们都知道eclipse默认的颜色主题是白色的背景,但是如果想改变代码编辑区的背景颜色,需要怎么办呢? 今天给大家介绍一个非常赞的eclipse,可以很方便的根据自己的需求选择喜欢的颜色主题,其他的不 ...

  2. JQuery中each方法实现

    each()函数是基本上所有的框架都提供了的一个工具类函数,通过它,你可以遍历对象.数组的属性值并进行处理. jQuery和jQuery对象都实现了该方法,对于jQuery对象,只是把each方法简单 ...

  3. Lecture Sleep(尺取+前缀和)

    Description 你的朋友Mishka和你参加一个微积分讲座.讲座持续n分钟.讲师在第i分钟讲述ai个定理.   米什卡真的对微积分很感兴趣,尽管在演讲的所有时间都很难保持清醒.给你一个米什卡行 ...

  4. [core python programming]chapter 7 programming MS office

    excel.pyw会有问题,解决如下: 因为python3x中没有tkMessageBox模块,Tkinter改成了tkinter你可以查看你的py当前支持的模块.在交互式命令行下输入>> ...

  5. Java之I/O流(第1部分)

    Java 中的I/O流: 1. 输入/输出流原理: 如下图所示:在 java 程序中,对于数据的输入/输出操作以“流”(Stream)的方式进行:J2SDK 提供了各种各样的“流”类,用来获取不同种类 ...

  6. VS2012或VS2010 工具栏中无法显示DevExpress控件

    进入命令提示符 跳转到Dev控件安装目录,如[目录D:\Program Files (x86)\DevExpress\DXperience 12.2\Tools]下, 然后执行命令: ToolboxC ...

  7. maven仓库中添加自定义的包jar包

    mvn install:install-file -DgroupId=impl -DartifactId=center -Dversion=1.0 -Dpackaging=jar -Dfile=D:\ ...

  8. hadoop fs 部分命令详解

    1,Hadoop fs –fs [local | <file system URI>]:声明hadoop使用的文件系统,如果不声明的话,使用当前配置文件配置的,按如下顺序查找:hadoop ...

  9. 如何进行Linux Kernel 开发

    转自:http://www.cppblog.com/flyonok/archive/2011/04/15/144316.html 如何进行Linux Kernel 开发? (Take 3) 译者序:这 ...

  10. phpcms开启在线编辑模版 方法

    目录:\caches\configs\system.php 将:第20行 'tpl_edit'=> 0   修改为  'tpl_edit'=> 1   (0:默认的,不开启:     1: ...