在Spring中创建Freemarker配置bean以及参数

时间:2013-09-26 00:06:53

标签: java spring servlets freemarker

我在创建“freemarker.template.Configuration”bean并在此配置实例中设置全局共享变量时遇到问题。类似的东西:

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

这可能吗? 我不能使用FreeMarkerConfigurer而不是Configurer,因为我在项目中使用servlet(Spring MVC的完整堆栈)作为控制器。有没有办法将FreemarkerConfigurer转换为配置器?

1 个答案:

答案 0 :(得分:0)

问题源于共享变量不是JavaBean属性......但是,偶然地,Configuration具有setAllSharedVariables(TemplateHashModelEx)方法,从技术上来说属于属性,所以这样的事情应该是工作(我没有尝试过,我的Spring XML生锈了......告诉我是否有拼写错误):

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