JavaBean to configure Velocity for web usage, via the "configLocation" and/or "velocityProperties" and/or "resourceLoaderPath" bean properties. The simplest way to use this class is to specify just a "resourceLoaderPath"; you do not need any further configuration then.
<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"> <property name="resourceLoaderPath"><value>/WEB-INF/velocity/</value></property> </bean>
This bean must be included in the application context of any application using Spring's {@link VelocityView} for web MVC. It exists purely to configureVelocity; it is not meant to be referenced by application components (just internally by VelocityView). This class implements {@link VelocityConfig}in order to be found by VelocityView without depending on the bean name of this configurer. Each DispatcherServlet may define its own VelocityConfigurer if desired, potentially with different template loader paths.
Note that you can also refer to a pre-configured VelocityEngine instance via the "velocityEngine" property, e.g. set up by {@link org.springframework.ui.velocity.VelocityEngineFactoryBean}, This allows to share a VelocityEngine for web and email usage, for example.
This configurer registers the "spring.vm" Velocimacro library for web views (contained in this package and thus in spring.jar
), which makes all of Spring's default Velocity macros available to the views. This allows for using the Spring-provided macros such as follows:
#springBind("person.age") age is ${status.value}
@author Rod Johnson
@author Juergen Hoeller
@author Darren Davison
@see #setConfigLocation
@see #setVelocityProperties
@see #setResourceLoaderPath
@see #setVelocityEngine
@see VelocityView