Im working on a code generator, building upon Velocity. I have a problem. The
code generator needs to be able to change the "velocimacro.library" (or be
left out) every time the Velocity is initialized.
The file macro.vm looks like this:
#macro(hello)
Hello!!
#end
The file hello.vm looks like this:
#hello()
When I run the code, it successfully creates the file Hello.txt with the
content:
Hello!!
But when I activate the first line "//init(null)" the macro is not
recognized, and the output of Hello.txt is:
#hello()
The code looks like this (it is just an example to show the problem):
public static void main(String args[]) {
//init(null);
init("uparser/template/java/macro.vm");
VelocityContext velocityContext = new VelocityContext();
String filename = "C:/project/vgen/tmp/Hello.txt";
BufferedWriter out = null;
String templateFile = "uparser/template/java/hello.vm";
try {
Template template = Velocity.getTemplate(templateFile);
out = new BufferedWriter(new OutputStreamWriter(new
FileOutputStream(filename)));
if (template != null) {
template.merge(velocityContext, out);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void init(String macrosTemplateFile) {
Properties properties = new Properties();
if (macrosTemplateFile != null) {
properties.put("velocimacro.library",
macrosTemplateFile);
}
properties.put("file.resource.loader.path",
"C:/Source/Workspace33/vgen/projects");
try {
Velocity.init(properties);
} catch (Exception e) {
System.out.println(e.toString());
return;
}
}
Any ideas?
BR,
Jocke
--
View this message in context:
http://www.nabble.com/Macros-does-not-work-when-running-init%28%29-%2B-init%28properties%29-tp16521857p16521857.html
Sent from the Velocity - Dev mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]