velocity.VelocityUtil
package velocity;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.context.Context;
import org.apache.velocity.tools.ToolManager;
import java.io.StringWriter;
/**
* Created by Administrator on 2015/3/11.
*/
public class VelocityUtil {
public static String exportFixedVelocityWithToolbox() {
// 创建引擎
VelocityEngine ve = new VelocityEngine();
// 设置模板加载路径,这里设置的是class下
ve.setProperty(Velocity.RESOURCE_LOADER, "class");
ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
// 进行初始化操作
ve.init();
// 加载模板,设定模板编码
Template t = ve.getTemplate("template/velocity_template.vm", "UTF-8");
// 设置初始化数据
// 加载toolbox
ToolManager manager = new ToolManager();
manager.configure("/template/configuration.xml");
Context context = manager.createContext();
context.put("name", "张三");
String[] hobbyArray={"吃饭","喝水","洗澡"};
context.put("hobby", "爱好");
context.put("hobbyArray", hobbyArray);
// 设置输出
StringWriter writer = new StringWriter();
// 将环境数据转化输出
t.merge(context, writer);
return writer.toString();
}
public static void main(String[] args) {
System.out.println(exportFixedVelocityWithToolbox());;
}
}
template/configuration.xml
<toolbox> <tool> <key>date</key> <scope>application</scope> <class>org.apache.velocity.tools.generic.DateTool</class> </tool> </toolbox>
template/velocity_template.vm
$name $hobby: #foreach($hobby in $hobbyArray) ${hobby} #end year : $date.getYear() month: $date.getMonth() month: $date.getDay() current time : $date.get('yyyyMMdd:HHmmss')