简体   繁体   中英

Create Freemarker Configuration bean in Spring, together with parameter

I am having trouble creating a "freemarker.template.Configuration" bean and setting global shared variables in this instance of the Configuration. Something like:

<bean id="conf" class="freemarker.template.Configuraton">  
    <property name="sharedVariable" >
        **??**
   </property>
</bean>  

Is this possible? I can't use FreeMarkerConfigurer instead of Configurer because I am using servlets (full stack of Spring MVC) as controllers in my project. Is there any way to convert a FreemarkerConfigurer into a Configurer?

The problem stems from that shared variables is not a JavaBean property... but, accidentally, Configuration has a setAllSharedVariables(TemplateHashModelEx) method, that's technically a property, so something like this should work (I haven't tried it and my Spring XML is rusty... tell me if there are typos in it):

<bean id="conf" class="freemarker.template.Configuraton">
    <property name="allSharedVariables">
        <bean class="freemarker.template.SimpleHash">
            <constructor-arg>
                <map>
                    <entry key='someVarName' value='someValue' />
                    <entry key='otherVarName' value-ref='valueBeanId' />
                </map>
            </constructor-arg>
        </bean>
    </property>
</bean>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM