zoukankan      html  css  js  c++  java
  • fremarker

    引用:http://www.hudong.com/wiki/freemarker

    FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。 

      FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 

      FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 

      虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据 

      FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件 

      FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境 

      FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库 

      FreeMarker是免费的

    freemarker - 入门例子

      Test1.java 

      package freemarker; 

      import java.io.File; 

      import java.io.FileOutputStream; 

      import java.io.OutputStreamWriter; 

      import java.io.Writer; 

      import java.util.HashMap; 

      import java.util.Map; 

      import freemarker.template.Configuration; 

      import freemarker.template.Template; 

      public class Test1 { 

      private Configuration cfg; 

      public Configuration getCfg() { 

      return cfg; 

      } 

      public void init() throws Exception { 

      cfg = new Configuration(); 

      cfg.setDirectoryForTemplateLoading(new File("bin/freemarker")); 

      } 

      public static void main(String[] args) throws Exception { 

      Test1 obj = new Test1(); 

      obj.init(); 

      Map root = new HashMap(); 

      Template t = obj.getCfg().getTemplate("Test1.ftl"); 

      Writer out = new OutputStreamWriter(new FileOutputStream("Test1.html"), "GBK"); 

      t.process(root, out); 

      System.out.println("Successfull................"); 

      } 

      } 

      用到的模版 Test1.ftl 

      <#macro greet person,website> 

      Hello ${person}! Your Website is ${website}. 

      </#macro> 

      <html> 

      <head> 

      <title>Hello World</title> 

      </head> 

      <body> 

      <@greet person="老紫竹" website="www.java2000.net"/> 

      </body> 

      </html> 

      运行结果 

      <html> 

      <head> 

      <title>Hello World</title> 

      </head> 

      <body> 

      Hello 老紫竹! Your Website is <a target="_blank" href="www.java2000.net.">www.java2000.net.</a> 

      </body> 

      </html> 

      注:Test1.ftl的位置在bin/freemarker下

  • 相关阅读:
    前端大全
    事件获取目标 currentTarget target srcElement 三者之间的区别和联系
    wx:key
    [微信小程序] -- wxss引用外部css文件及iconfont
    v-show, v-if, 以及动态组件的区别
    self_vue@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
    git命令行使用
    CentOS6与7区别整理
    git
    python--批量修改文件夹名
  • 原文地址:https://www.cnblogs.com/sode/p/2768341.html
Copyright © 2011-2022 走看看