have you looked at using #parse() ?


> -----Original Message-----
> From: e v a n l e o n a r d [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, April 05, 2005 12:58 PM
> To: 'Velocity Users List'; 'Shinobu Kawai'
> Subject: RE: Streaming from the middle of a template?
> 
> 
> 
> > If all the components uses Velocity to render the content, 
> you must be
> > using Template#merge or Velocity(Engine)#mergeTemplate or 
> > Velocity(Engine)#evaluate in each of your components, correct?  
> > If so, you can just put the Writer in the Context before rendering.
> >     context.put("writer", writer)
> > And in the template,
> >     $component.render($writer)
> 
> 
> Right right, exactly, but how to I get the writer?
> 
> How do I get the writer from the parent velocity template 
> such that I can
> pass it to the child templates and have there output slip 
> right into the
> output of the parent?
> 
> 
> -Evan
> 
> 
> 
> 
> 
> -----Original Message-----
> From: Shinobu Kawai [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, April 05, 2005 1:10 PM
> To: Velocity Users List
> Subject: Re: Streaming from the middle of a template?
> 
> Hi Evan,
> 
> > Here's what I'm doing: I've written a reusable html-control 
> model for 
> > creating html components within the struts framework using 
> velocity. 
> > These components use velocity themselves to render their content. 
> > These controls may also themselves contain other 
> sub-controls, and so 
> > on.  It seems ineffecient for me for each of these sub-controls, to 
> > have to create a single large string and return it to its parent 
> > control to render it. I would rather pass a writer down through the 
> > execution hierarchy having each subcontrol add its output to the 
> > parents writer, thus using a single writer to achieve the total 
> > output, instead of a segmented writer.toString -> writer.toString ->
> writer.toString sort of process.
> > 
> > Does that make more sense?
> 
> If all the components uses Velocity to render the content, 
> you must be using
> Template#merge or Velocity(Engine)#mergeTemplate or
> Velocity(Engine)#evaluate in each of your components, 
> correct?  If so, you
> can just put the Writer in the Context before rendering.
>     context.put("writer", writer)
> And in the template,
>     $component.render($writer)
> 
> Best regards,
> -- Shinobu
> 
> --
> Shinobu Kawai <[EMAIL PROTECTED]>
> 
> ---------------------------------------------------------------------
> 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]
> 


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

Reply via email to