1. 程式人生 > >Spring MVC使用FreeMarker呼叫java靜態方法

Spring MVC使用FreeMarker呼叫java靜態方法

Spring mvc配置檔案如下

1.配置freemarker的檢視,如下
Java程式碼  收藏程式碼
  1. <bean id="freemarkerResolver"  
  2.         class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">  
  3.         <property name="requestContextAttribute" value="ctp" />  
  4.         <property name="cache" value="true" />  
  5.         <property name="prefix" value="/WEB-INF/freemarker" />  
  6.         <property name="suffix" value=".ftl" />  
  7.         <property name="contentType" value="text/html;charset=UTF-8" />  
  8.         <property name="order" value="0" />  
  9.         <property name="attributesMap" ref="freemarkerStaticModels"
    />  
  10.     </bean>  

requestContextAttribute屬性一般我們都是通過它獲取上下文資訊,比如<#global cp="${(ctp.contextPath)!''}">我們可以獲取全域性變數的專案路徑等等資訊。attributesMap這個才是我們獲取java靜態方法的屬性配置。 

2.freemarkerStaticModels配置如下:
Java程式碼  收藏程式碼
  1. <bean id="freemarkerStaticModelsProps"  
  2.          class="org.springframework.beans.factory.config.PropertiesFactoryBean"
    >  
  3.        <property name="location" value="classpath:javastatic.properties" />  
  4.    </bean>  
  5.    <bean id="freemarkerStaticModels"  
  6.          class="org.springrain.frame.util.FreemarkerStaticModels" factory-method="getInstance">  
  7.        <property name="staticModels" ref="freemarkerStaticModelsProps"/>  
  8.    </bean>  


3.javastatic.properties屬性配置檔案內容如下:
Java程式碼  收藏程式碼
  1. StringUtils=org.apache.commons.lang3.StringUtils  



4.使用配置檔案的如下:
Java程式碼  收藏程式碼
  1. ${StringUtil.replaceAll("${name!''}",";","-")}