private void execute() {
try {
InputStream is = this.getClass().getResourceAsStream(
"velocity.properties");
Properties prop = new Properties();
prop.load(is);
Velocity.init(prop);
Template template = Velocity.getTemplate(
"sample/velocity/template.vm",
"Windows-31J");
Person p = new Person(12, "太郎"); // Personクラスは, ageとnameプロパティを持つだけ
VelocityContext context = new VelocityContext();
context.put("person", p);
StringWriter sw = new StringWriter();
template.merge(context, sw);
System.out.println(sw.toString());
} catch (Exception e) {
}
}
velocity.properties
# velocity.logを出力しない
runtime.log.logsystem.class=org.apache.velocity.runtime.log.NullLogSystem
# classpath上から読み込む
resource.loader = class
class.resource.loader.description = Velocity Classpath Resource Loader
class.resource.loader.class = org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
template.vm
こんにちは。
私は${person.name}です。
今年で、${person.age}才になります。
実行結果
こんにちは。
私は太郎です。
今年で、12才になります。