cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject Re: Flow/Velocity
Date Mon, 03 Mar 2003 11:23:37 GMT
Christopher Oliver wrote:
> I've just committed changes to support calling Velocity 
> (http://jakarta.apache.org/velocity) from the Cocoon flow layer.
> 
> In order to not break any existing users of the VelocityGenerator, I've 
> created a new generator:
> 
>   org.apache.cocoon.generation.FlowVelocityGenerator
> 
> This generator differs from the existing VelocityGenerator in the way it 
> populates the context passed to the Velocity template. It provides two 
> properties:
> 
> 1) this - the bean object passed to sendPage*() in your script
> 2) continuation - the current continuation (an instance of 
> org.apache.cocoon.components.flow.WebContinuation)
> 
> In addition, the immediate properties of the bean object are also 
> available in the context. So if your bean has a property "foo", you can 
> access it in your template as $foo or as $this.foo.
> 
> This means you can now write a flow script like this:
> 
> 
>   function test() {
>       sendPage("templates/flow-hello-page.vm",
>                {
>                    name: "Cocoon",
>                    project: "Velocity",
>                    when: new java.util.Date()
>                });
>   }
> 
> 
> that calls a Velocity template like this:
> 
>   <?xml version="1.0"?>
>   <page>
>    <title>Hello</title>
>    <content>
>     <para>This is my first Cocoon2 page!</para>
>     <para>Hi!  This page is generated using $this.name from the 
> $this.project project.</para>
>     <para>Hi!  I can also access name, project, and when like this: This 
> page is generated using $name from the $project project at 
> $when.toString() .</para>
>    </content>
>   </page>
> 
> 
> When the build for samples is fixed, I'll add a sample of using Velocity 
> with flow scripts, but you should be able to try it yourself, so please 
> do and let me know of any problems.

This is very nice.

Thanks Chris!

-- 
Stefano Mazzocchi                               <stefano@apache.org>
    Pluralitas non est ponenda sine necessitate [William of Ockham]
--------------------------------------------------------------------



Mime
View raw message