[prev in list] [next in list] [prev in thread] [next in thread] 

List:       velocity-user
Subject:    Re: Getting a velocity engine in Spring
From:       Charles Harvey III <charlieh () alloy ! com>
Date:       2006-08-24 3:18:23
Message-ID: 44ED1A7F.7050209 () alloy ! com
[Download RAW message or body]

Most of what I have figured out has come from 2 places:

http://static.springframework.org/spring/docs/1.2.x/reference/view.html#view-velocity

and Spring in Action (the book).  I have also asked a few questions here
and there on the Spring Users List.


Charlie



Bill Rishel said the following on 8/23/2006 9:02 PM:
> Just what I needed Charlie, thanks!
>
> I have it working to the point of calling MyVelocityView,
> so hopefully just footwork from here.
>
> You illustrated a number of configuration properties
> that I haven't seen documentation for (I see the properties
> mentioned in the class javadocs, but not the xml
> configuration documentation). Is there a place where I
> can find such docs?
>
> Again, thanksX1000!
>
> Bill
>
>
> On 8/22/06, Charles Harvey III <charlieh@alloy.com> wrote:
>> Bill,
>> I have been using Spring with Velocity for quite some time now.  But I
>> always
>> use one of the out-of-the-box solutions to render templates.  I even
>> made the
>> Spring folks add the VelocityLayoutView because VelocityToolboxView and
>> VelocityView
>> did not work the same as the VelocityLayoutServlet from Velocity.
>>
>> So, here is what I think you will have as a setup, based on your e-mail:
>>
>> applicationContext.xml:
>> ---------------------------------------------------------------------
>> <bean id="velocityConfigurer"
>> class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"> 
>>
>>   <property name="resourceLoaderPath" value=""/>
>>   <property name="velocityProperties">
>>     <props>
>>       <prop key="velocimacro.library">/includes/macros.vm</prop>
>>       <prop key="velocimacro.library.autoreload">true</prop>
>>       <prop key="velocimacro.permissions.allow.inline">true</prop>
>>       <prop
>> key="velocimacro.permissions.allow.inline.to.replace.global">false</prop> 
>>
>>       <prop
>> key="velocimacro.permissions.allow.inline.local.scope">false</prop>
>>       <prop key="velocimacro.context.localscope">false</prop>
>>       <prop
>> key="tools.view.servlet.error.template">/includes/layout_error.vm</prop>
>>       <prop key="tools.view.servlet.layout.directory">/includes/</prop>
>>       <prop
>> key="resource.manager.class">org.apache.velocity.runtime.resource.ResourceManagerImpl</prop> 
>>
>>       <prop
>> key="resource.manager.cache.class">org.apache.velocity.runtime.resource.ResourceCacheImpl</prop> 
>>
>>     </props>
>>   </property>
>> </bean>
>>
>> <!-- VIEW RESOLVER (Velocity) -->
>> <bean id="viewResolver"
>> class="org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolver"> 
>>
>>   <property name="viewClass"
>> value="org.springframework.web.servlet.view.velocity.VelocityView"/>
>>   <property name="cache" value="true"/>
>>   <property name="prefix" value="/WEB-INF/velocity"/>
>>   <property name="suffix" value=".vm"/>
>>   <property name="exposeRequestAttributes" value="true"/>
>>   <property name="exposeSessionAttributes" value="true"/>
>>   <property name="exposeSpringMacroHelpers" value="true"/>
>> </bean>
>> ---------------------------------------------------------------------
>>
>> I am quite sure that the only thing you will have to change is the
>> "viewClass"
>> in the <bean id="viewResolver">.  Change the VelocityView to
>> MyVelocityView or
>> whatever your class is called.  Take a look at the code in the Spring
>> sources.
>> Take note of VelocityToolboxView and VelocityLayoutView because both of
>> those
>> classes subclass VelocityView and make small changes to how a 
>> template is
>> rendered.
>>
>> Good luck, let me know if this helps.
>>
>>
>>
>> Charlie
>>
>>
>>
>>
>>
>> Bill Rishel said the following on 8/21/2006 6:15 PM:
>> > Within Struts I've been using a velocity engine from within a 
>> subclass of
>> > VelocityViewServlet with which I am able to call
>> > evaluate(Context context, java.io.Writer out, java.lang.String logTag,
>> > java.lang.String instring)
>> > to render the vtl in the 'instring'. Because I am doing my own
>> > preprocessing before
>> > that call and possibly after I need that kind of fine grained control
>> > of the
>> > vtl rendering.
>> >
>> > I am moving now to Spring, which gives me some important features,
>> > but haven't been able to figure out how to do the "hand rendering" of
>> > the vtl within a Spring controller. Any suggestions on how to do that?
>> >
>> > Bill Rishel
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
>> > For additional commands, e-mail: velocity-user-help@jakarta.apache.org
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: velocity-user-help@jakarta.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: velocity-user-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic