1.配置freemarker的视图,如下
<bean id="freemarkerResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <property name="requestContextAttribute" value="ctp" /> <property name="cache" value="true" /> <property name="prefix" value="/WEB-INF/freemarker" /> <property name="suffix" value=".ftl" /> <property name="contentType" value="text/html;charset=UTF-8" /> <property name="order" value="0" /> <property name="attributesMap" ref="freemarkerStaticModels"/> </bean>
requestContextAttribute属性一般我们都是通过它获取上下文信息,比如<#global cp="${(ctp.contextPath)!''}">我们可以获取全局变量的项目路径等等信息。attributesMap这个才是我们获取java静态方法的属性配置。
2.freemarkerStaticModels配置如下:
<bean id="freemarkerStaticModelsProps" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="location" value="classpath:javastatic.properties" /> </bean> <bean id="freemarkerStaticModels" class="org.springrain.frame.util.FreemarkerStaticModels" factory-method="getInstance"> <property name="staticModels" ref="freemarkerStaticModelsProps"/> </bean>
3.javastatic.properties属性配置文件内容如下:
StringUtils=org.apache.commons.lang3.StringUtils
4.使用配置文件的如下:
${StringUtil.replaceAll("${name!''}",";","-")}