我是靠谱客的博主 香蕉冬日,最近开发中收集的这篇文章主要介绍freemarker使用教程(适合初学者)如果您有兴趣,欢迎加入it成长之路学习交流群:728603969,群主会不定时的分享学习材料哦,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

freemarker在一些门户网站都会被使用到,其主要原因在于加载速度快,如果页面变动不大,可以考虑使用freemarker。

freemarker相比jsp主要区别在于freemarker是单纯的数据显示,而jsp可以进行数据操作,包括写java代码处理后台数据,jsp功能强大,但是这样破坏了传统的mvc模式,如果在jsp进行数据库等操作,很不利于管理。而freemarker则不能在*.ftl操作后台数据,这个可能是差别最大的吧,个人见解。

今天要讲的是使用freemarker将*.ftl模板文件转成html文件,以下是一个小demo。

整个操作流程大概是这样的:建立hello.ftl文件,在控制层进行数据传入,使用freemarker将文件保存成html。

如果是使用myeclipse做开发,可以下载一个插件安装教程可以参考这个网址:http://it.oyksoft.com/post/5899/;

好了,现在开始第一个freemarker demo;

1:新建hello.ftl

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>      
    <title>First freemarker </title> 
  </head>  
  <body> 

    测试hello:${message}

    

 <#-- 使用FTL指令 -->
    <#-- 1:针对list进行遍历 -->
    <#list userList as user><br>
     ${user.firstname} : ${user.lastname} 年龄: ${user.age}<br>
    </#list><br>
    <br>
  </body>  
</html> 

2:在类中Hello.java      

   Configuration cfg = new Configuration();     
          //将ftl文件放在resource下的flt文件夹下
          cfg.setDirectoryForTemplateLoading(new File(Hello.class.getResource("/")+ "ftl"));    
          //设置对象默认的包装器  
          cfg.setObjectWrapper(new DefaultObjectWrapper());  
          //设计异常处理器  
          cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);  

         //最终是要以map形式返回到hello.ftl中,和json很相似
          Map<Object, Object> root = new HashMap<Object, Object>();//定义要返回的map
          
          List<User> list=new ArrayList<User>();
          list.add(new User("张", "xiaoxiao",20));
          list.add(new User("刘", "binbin",22));
          list.add(new User("李", "moumou",21));
          //将数据加入root的map中
          root.put("persion", "小吴"); 
          root.put("userList", list);
      
          //获取resource下的flt文件夹下的模板文件  
          Template template = cfg.getTemplate("test.ftl");     
          //定义输入文件,将生产的文件放在本地,指定生成的编码格式
          Writer out = new OutputStreamWriter(new FileOutputStream("F:"+File.separetor+"hello.html"),"UTF-8");  
           
          template.process(root, out);  
           
         } 

3:定义完运行一下main方法就可以获取到hello.html。初学者主要能够从小demo中收获freemarker的运作方式即可。接下来就可以开始学习语法。

觉得帮到你的朋友点个赞,有问题可以下方评论。接下来会讲到进阶的语法。最后面会分享代码生成模板,欢迎关注。

如果您有兴趣,欢迎加入it成长之路学习交流群:728603969,群主会不定时的分享学习材料哦

 

 

 

 

 

最后

以上就是香蕉冬日为你收集整理的freemarker使用教程(适合初学者)如果您有兴趣,欢迎加入it成长之路学习交流群:728603969,群主会不定时的分享学习材料哦的全部内容,希望文章能够帮你解决freemarker使用教程(适合初学者)如果您有兴趣,欢迎加入it成长之路学习交流群:728603969,群主会不定时的分享学习材料哦所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部