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')
使用Apache Velocity模板引擎实现动态网页生成
43万+

被折叠的 条评论
为什么被折叠?



