1.导入jar, 编写模板文件test.vm
test.vm 如下
${product}
<html>
<body>
#set(
$foo = "Velocity" )
Hello
$foo World!
</body>
<html>
2.新建一个servlet,添加代码
Properties prop = new Properties();
prop.put("runtime.log", request.getSession().getServletContext().getRealPath( "/WEB-INF/log.log"));
prop.put("file.resource.loader.path",request.getSession().getServletContext().getRealPath( "/WEB-INF/vm"));
prop.put("input.encoding", "UTF-8");
prop.put("output.encoding", "UTF-8");
Velocity.init(prop);
//
try {
//也可读取属性文件的方式
// Velocity.init("src/velocity.properties");
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
VelocityContext context = new VelocityContext();
context.put("product", "htc");
Template template;
try {
File saveDir = new File(request.getSession().getServletContext().getRealPath("/html/product/"));
if(!saveDir.exists()) saveDir.mkdirs();
template = Velocity.getTemplate("test.vm");
FileOutputStream outStream = new FileOutputStream(new File(saveDir, "1.shtml"));
OutputStreamWriter writer = new OutputStreamWriter(outStream,"UTF-8");
BufferedWriter sw = new BufferedWriter(writer);
template.merge(context, sw);
sw.flush();
sw.close();
outStream.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
3:访问http://localhost:8080/TestVelocity/ 生成1.shtml 静态页面
4:访问http://localhost:8080/TestVelocity/html/product/1.shtml 访问静态页面