本人新手,没有牛逼的技术,只有一些井底之蛙的见解,如有好思路,好方法,请分享一下,本人不胜感激。 在我看来,freemarker 就是 可以作为展现层,让展现层更加抽象,同时也可以把一些动态的内容动态添加数据后 形成html文档或者一些html代码,
在我看来能做的工作,主要有,把你的ftl文件,或者字符串形式的带有ftl格式变量的字符串当做模板,同时经过处理把你存在map对象里的数据跟模板结合,然后把动态生成的内容输出到字符串变量里,或者输出到jsp,html页面里,
template 存放模板的类
configuration 配置类,
templateloader 定制自己的模板资源的类
下面是一个小例子可以参考
package fff;
import java.io.File;
import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import freemarker.cache.TemplateLoader;
public class Test {
/**
* @param args
*/
public static void main(String[] args)throws Exception{
// TODO Auto-generated method stub
Configuration cfg = new Configuration();
cfg.setTemplateLoader(new StringTemplateLoader("欢迎:${user}"));
cfg.setDefaultEncoding("UTF-8");
Template template =cfg.getTemplate("");
Map root = new HashMap();
// root.put("name", "Keven Chen");
// root.put("password", "1234545");
root.put("user", "wo");
StringWriter writer = new StringWriter();
try {
template.process(root, writer);
} catch (TemplateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(writer.toString());
}
}
class StringTemplateLoader implements TemplateLoader
//这个类是自己的templateloader
{
private String template;
public StringTemplateLoader(String template){
this.template = template;
if(template == null){
this.template = "";
}
}
public void closeTemplateSource(Object templateSource) throws IOException {
((StringReader) templateSource).close();
}
public Object findTemplateSource(String name) throws IOException {
return new StringReader(template);
}
public long getLastModified(Object templateSource) {
return 0;
}
public Reader getReader(Object templateSource, String encoding)
throws IOException {
return (Reader) templateSource;
}
}
分享到:
相关推荐
FreeMarker,FreeMarker
安装freemarker插件(freemarker的eclipse插件) a) 首先下载 freemarker-ide-0.9.14.zip(在这里不用下载了,附件中已经有了) b) 解压后:把hudson.freemarker_ide_0.9.14这个文件放到:eclipse\plugins下面 c) 发现...
FreeMarker
赠送jar包:freemarker-2.3.31.jar; 赠送原API文档:freemarker-2.3.31-javadoc.jar; 赠送源代码:freemarker-2.3.31-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.31.pom; 包含翻译后的API文档:...
freemarker freemarker freemarker freemarker freemarker freemarker freemarker freemarker
赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar; 赠送Maven依赖信息文件:freemarker-2.3.30.pom; 包含翻译后的API文档:...
freemarker\Freemarker教程_中文版
一篇freemarker很不错的文章 reeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:格式部分,不会输出 3,插值:即${...}或#{...}格式的部分,将使用...
freemarker格式化的eclipse插件。用于freemarker的格式化。
Freemarker 实例,Freemarker 实例Freemarker 实例,Freemarker 实例
freemarker替换变量实例
FreeMarker手册-Freemarker 2.3.18。。。。。。。。。。。。。。。。。
camel-freemarker-1.6.4.jar, camel-freemarker-2.8.1.jar, com.springsource.freemarker-2.3.15.jar, com.springsource.freemarker-sources-2.3.15.jar, freemarker-1.4.1.jar, freemarker-2-3-18.jar, freemarker-...
FreeMarker中文文档.pdf FreeMarker入门必修
NULL 博文链接:https://zhenghuazhi.iteye.com/blog/1923544
FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16 FreeMarker api 2.3.16
freemarker的使用Demo,非常适用于freemarker初学,可与struts2结合使用。
freemarker官方中文帮助文档
Freemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+java
freemarker常用标签整理,struts2+freemarker做表现层应用,flt中freemarker写法