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 <[EMAIL PROTECTED]> 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: [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