freemarker根据模版生成文件使用例子.doc
文本预览下载声明
目录
说明 1
工具类 1
1. 接口Render‘’ 1
2. 基本类bean RenderClass 1
3. 基本类bean RenderProperty 2
4. FreemarkerRender 3
5. 模版hibernate3.ftl 4
6. 工具类Assistant 5
如何使用 16
说明
Java中使用freemarker根据模版来生成具有一定格式的文件。本例以java动态生成 hibernate的*.hbm.xml文件为例子,并且假设已经导入了freemarker .jar文件
工具类
接口Render‘’
public interface Render {
void render(RenderClass target,String template,String outpath);
}
基本类bean RenderClass
import java.util.List;
public class RenderClass {
private String className;
private String tableName;
private String classPath;
private List properties;
public RenderClass()
{
properties = null;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public List getProperties() {
return properties;
}
public void setProperties(List properties) {
perties = properties;
}
public void setClassPath(String classPath) {
this.classPath = classPath;
}
public String getClassPath() {
return classPath;
}
}
基本类bean RenderProperty
package j.table.function;
/*?????????????????*/
public class RenderProperty extends BuildProperty{
private boolean primary;
private String name;
private String type;
private String sequence;
private Integer length;
private String field;
/* …省略set跟get方法…*/
}
FreemarkerRender
package ******************;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import freemarker.cache.ClassTemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.ObjectWrapper;
import freemarker.template.SimpleHash;
import freemarker.template.Template;
import freemarker.template.TemplateExceptionHandler;
public class FreemarkerRender implements Render{
private Configuration templateconfig;
public FreemarkerRender()
{
this.initialize();
}
public void initialize(
显示全部