Ok I am back with another problem with trunk version I am currently trying to
diagnose. When I use Velocity to merge a template on the web site, Velocity is
acting correctly. When I am merging Velocity internally in a servlet to send
formatted email, I am getting a NPE in velocity. When I go back to using 1.4,
no NPE and email is sent perfectly. I need to do more diagnosis.
Template looks like:
....
<body>
#parse("$!header")
#parse("$!body")
#parse("$!footer")
</body>
....
Email code looks like (no variables in context are null as show in error at
bottom):
while (keys.hasNext())
{ // Making attributes available to the template.
key = (String)keys.next();
context.put(key, contextProperties.get(key));
System.err.println("VARIABLE PUT INTO CONTEXT: " + key + " = " +
contextProperties.get(key));
}
}
StringWriter resultWriter = new StringWriter();
try
{
System.err.println("THE TEMPLATE PATH IS: " + templatePath);
Template template = Velocity.getTemplate(templatePath);
template.merge(context, resultWriter);
}
VARIABLE PUT INTO CONTEXT: header =
/WEB-INF/templates/pub/common/email/default/defaultEmailMenuHeader.vm
VARIABLE PUT INTO CONTEXT: footer =
/WEB-INF/templates/pub/common/email/default/defaultEmailMenuFooter.vm
VARIABLE PUT INTO CONTEXT: requestData = [GuestFName
GuestLName|http://www.jb.com/action/pub/member/receiveemailconfirmation/setup?email=lavalamp%jb.com&mid=10001]
VARIABLE PUT INTO CONTEXT: body =
/WEB-INF/templates/pub/member/registration/emailregconfirm.vm
THE TEMPLATE PATH IS:
/WEB-INF/templates/pub/common/email/default/defaultEmailTemplate.vm
ERROR [http8080-Processor2] TemplateToStringManagerBD.getContentAsString() -
VelocityEngine failed to merge the template.
java.lang.NullPointerException
at
org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:835)
at
org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:817)
at
org.apache.velocity.runtime.RuntimeSingleton.getTemplate(RuntimeSingleton.java:285)
at org.apache.velocity.app.Velocity.getTemplate(Velocity.java:469)
at
com.jb.commonmvc.view.template.velocity.TemplateToStringManagerBD.getContentAsString(TemplateToStringManagerBD.java:120)
at
com.jb.commonmvc.transport.email.EmailTemplate.emailTemplate(EmailTemplate.java:37)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]