• 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下

  • 相关阅读:
    struts2的@Result annotation 如何添加params,并且在页面取值
    spring @Entity @Table
    @Results( 中 params 怎么用
    Java三种技术架构
    python 内存管理
    wxpyhon 鼠标事件例子
    常用wxPython事件描述
    wxpython 拖动界面时进入假死状态(未响应)解决方法
    python 的一些高级编程技巧
    python 访问器@property的使用方法
  • 原文地址:https://www.cnblogs.com/sode/p/2768341.html
Copyright © 2020-2023  润新知