今天想用velocity写个生成HTML的代码,结果在main方法里可以找到VM模板
在action中死活就是不行
后来在网上找了方法,一种是在配置文件中改,我嫌麻烦,因为生成就一个方法,还是直接在读取的时候加入
Properties p = new Properties();
p.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
VelocityEngine ve = new VelocityEngine();
ve.init(p);
将velocity的读取路径变成src下的
这样就可以了
顺便提下中文的问题,因为转成HTML后会出现乱码
本来是自己把项目编码改成UTF-8,乱码
后来加了句
Template t = ve.getTemplate("velocity.vm","utf-8");
还是乱码
最后在导出的时候设置了response,终于OK
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=gb2312");