2013-09-26 31 views
0

我在創建「freemarker.template.Configuration」bean並在此配置實例中設置全局共享變量時遇到問題。例如:在Spring中創建Freemarker Configuration bean以及參數

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

這可能嗎? 我不能使用FreeMarkerConfigurer代替配置器,因爲我在項目中使用servlet(完整的Spring MVC堆棧)作爲控制器。有沒有辦法將FreemarkerConfigurer轉換成配置器?

回答

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>