I've never used the velocity generator before so I may be off-base.  But IIUC ...

I don't think you generally add objects into the map.  Rather, the map comes 
pre-populated with objects that your code needs:  request, response, etc.

e.g.:

public class
YourGenerator extends ComposerGenerator {

     public void
     setup(SourceResolver resolver, Map objectModel, String src, Parameters par)
         throws ProcessingException, SAXException, IOException {
         super.setup(resolver, objectModel, src, par);

                 Request  request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
//System.out.println("request: "+request+"; rtf gen setup called @ "+new 
java.util.Date());
                 String  filename = request.getParameter("filename");


Note how in this generator, you can get a hold of the request object from out of the 
object map.


So the "export-object" parameter that you were referring to is a means of transferring 
these objects from Cocoon's object map into a place where velocity can find them.

According to the docs:

" Default Java objects exported to the Velocity context:

* request (org.apache.cocoon.environment.Request) -
* The Cocoon current request template (java.lang.String) -
* The path of the template file currently being evaluated response 
(org.apache.cocoon.environment.Response) -
* The Cocoon response associated with the current request context 
(org.apache.cocoon.environment.Context) -
* The Cocoon context associated with the current request parameters 
(org.apache.avalon.framework.parameters.Parameters) -
Any parameters passed to the generator in the pipeline
"

That seems to pretty much cover most of the important object map objects that I think 
you'd want to pass to velocity, so it doesn't seem like there'd be much need to use 
this parameter.

I suppose if you wanted to, though, you could add an object of your own to the object 
map (see the generator code above; you could do this in an action too), and then have 
that object get copied over to velocity using the "export-object" parm.


Whew!  Sorry for being so long winded.  Hope this helps.  Best I could do.  Someone 
correct me if I'm wrong.


DR


At 04:23 PM 12/20/01 +0000, you wrote:
>Anyone?
>Help?
>
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> > Sent: 20 December 2001 00:18
> > To: [EMAIL PROTECTED]
> > Subject: How do I add objects to the objectModel Map
> > 
> > 
> > Hi
> > 
> > I hope this is straightforward...
> > 
> > How do I add objects to the objectModel Map?
> > 
> > http://xml.apache.org/cocoon/userdocs/generators/velocity-gene
>rator.html
>says:
><export-object key="objectMapKey" name="velocityContextName"/> (optional;
>0..n) - Export the object specified by key from the Cocoon object map to the
>Velocity context of the template. The object can be accessed from the
>template as name. Be careful to use a valid VTL variable name. 
>
>I've looked through the code but can't figure this one out.
>
>David
>
>
>---------------------------------------------------------------------
>Please check that your question has not already been answered in the
>FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
>
>To unsubscribe, e-mail: <[EMAIL PROTECTED]>
>For additional commands, e-mail: <[EMAIL PROTECTED]>
>
>---------------------------------------------------------------------
>Please check that your question has not already been answered in the
>FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
>
>To unsubscribe, e-mail: <[EMAIL PROTECTED]>
>For additional commands, e-mail: <[EMAIL PROTECTED]> 


---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

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

Reply via email to