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: [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