[freemarker篇]01.入门Freemarker示例

这今天“弄”军哥的管理系统,里面由涉及到一部分的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

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

 

posted on 2015-09-01 14:54  胖先生  阅读(4204)  评论(9编辑  收藏  举报