Oi?  That's not very nice...  I was having a very hard time interpreting that 
last "sentence" from the previous email.

I completely understand how it works in the normal servlet context.  You have 
to admit there is a lack of good doc on using this "standalone" as you put it.

I appreciate the pointers on where to look.  If I go ahead and do the hack, 
then I might as well pull Velocity out altogether.  I was leaning towards that 
before I decided to give it one more try.  Hopefully, these resources will have 
the answer.
  


Thanks,
Neal


-----Original Message-----
From: Nathan Bubna [mailto:[EMAIL PROTECTED] 
Sent: Thursday, August 25, 2005 3:14 PM
To: Velocity Users List
Subject: Re: Struts and I18N

On 8/25/05, Neal Smith <[EMAIL PROTECTED]> wrote:
> Re: Formatting Numbers, etc. -  I had read that, but being so wrapped up in 
> Struts stuff, I completely forgot about that.
> 
> Re: VelocityContext - Hmmm...  This is where I thought I was going to have an 
> issue.  The existing code is just creating a new VelocityContext.  I'm not 
> sure I understand all of your last question.  I see by the doc, that 
> VelocityViewServlet has a protected createContext(), but how do I get hold of 
> that context?  Is the request holding the VelocityViewServlet for me or do I 
> need to create my own?

oi...  well, servlets exist to handle servlet requests.  requests don't hold 
servlets.  :)  whether or not a servlet handles a particular request depends on 
the webapp configuration in your web.xml file.  typically, the VVS 
(VelocityViewServlet) will only handle a request if it is a request for a 
velocity template.  (Tim Colson made a nice graphic illustration of this for 
our VelocityStruts docs-- http://jakarta.apache.org/velocity/tools/struts/).

when the VVS gets a request, it creates a special ChainedContext for it and 
attaches a "toolbox".  The contents of the toolbox are determined by your 
toolbox.xml file (your web.xml should tell the VVS where this file is).

so, all this is to say...  it doesn't seem likely that the VVS is getting 
involved with the HTTP request that is creating these emails. 
i'm really not at all sure the best way to make that happen.  so it's hard to 
say where to go from here.  if you search the archives for "standalone toolbox" 
or look into the ServletToolboxManager class
(http://jakarta.apache.org/velocity/tools/javadoc/org/apache/velocity/tools/view/servlet/ServletToolboxManager.html)
you may be able to create an appropriate context for your emails that could 
include an initialized MessageTool.

or, you may just want to hack the MessgeTool to make it so that you can 
manually hand it the locale and resource bundle and place it in your simple 
context.  this might be the easiest way to go for now. 
however, in the long run, the flexibility of full toolbox support might be 
worth it.

> Thanks,
> Neal
> 
> P.S.  Here is the code where we create the VelocityContext:
#snip

yeah, that's just creating a basic empty context.  no special VelocityTools 
powers. :)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to