SpringMvc使用Freemarker时的配置

一、在使用Freemarker 时,需要在springmvc-servlet.xml 配置文件中作如下配置:

[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"       
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans                 
  7.            http://www.springframework.org/schema/beans/spring-beans-3.2.xsd        
  8.            http://www.springframework.org/schema/context        
  9.            http://www.springframework.org/schema/context/spring-context-3.2.xsd       
  10.            http://www.springframework.org/schema/mvc        
  11.            http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">  
  12.               
  13.      <!-- 组件自动扫描 -->        
  14.      <context:component-scan base-package="com.tliu.case2.web"/>   
  15.         
  16.      <!--主要作用于@Controller激活该模式下面是一种简写形式  
  17.           它会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter,  
  18.           是spring MVC为@Controllers分发请求所必须的   -->                        
  19.      <mvc:annotation-driven/>  
  20.         
  21.      <!-- 配置JSON视图 -->  
  22.      <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
  23.        <property name="supportedMediaTypes">  
  24.            <list>  
  25.                <value>application/json;charset=UTF-8</value>  
  26.            </list>  
  27.        </property>       
  28.        <property name="objectMapper">  
  29.            <bean class="org.codehaus.jackson.map.ObjectMapper">  
  30.                <property name="dateFormat">  
  31.                    <bean class="java.text.SimpleDateFormat">  
  32.                        <constructor-arg index="0" type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/>  
  33.                    </bean>  
  34.                </property>  
  35.            </bean>  
  36.        </property>  
  37.      </bean>  
  38.      <bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter"/>  
  39.      <bean id="requestMappingHandlerAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">  
  40.        <property name="messageConverters">  
  41.            <list>  
  42.                <ref bean="mappingJacksonHttpMessageConverter"/>  
  43.                <ref bean="stringHttpMessageConverter"/>  
  44.            </list>  
  45.        </property>  
  46.      </bean>  
  47.        
  48.      <!-- 配置JSP视图 -->  
  49.      <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  50.         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>  
  51.         <property name="prefix" value="/WEB-INF/jsp/"/>  
  52.         <property name="suffix" value=".jsp"/>        
  53.         <property name="contentType" value="text/html;charset=UTF-8"/>  
  54.         <property name="order" value="1"/>  
  55.      </bean>  
  56.         
  57.     <!-- 配置FreeMark视图 -->  
  58.     <bean id="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">  
  59.         <property name="contentType" value="text/html;charset=UTF-8"/>        
  60.         <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>  
  61.         <property name="suffix" value=".ftl"/>  
  62.         <property name="cache" value="true"/>  
  63.         <property name="exposeSessionAttributes" value="true"/>  
  64.         <property name="exposeRequestAttributes" value="true"/>       
  65.         <property name="exposeSpringMacroHelpers" value="true"/>  
  66.         <!-- 在页面中使用${rc.contextPath}就可获得contextPath -->  
  67.         <property name="requestContextAttribute" value="rc"/>  
  68.         <property name="order" value="0"/>  
  69.     </bean>  
  70.        
  71.     <bean id="freemarkConfig" class="org.springframework.beans.factory.config.PropertiesFactoryBean">  
  72.         <property name="location" value="classpath:freemark.properties"/>  
  73.     </bean>  
  74.        
  75.     <bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape"/>  
  76.        
  77.     <bean id="FreeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">  
  78.         <property name="templateLoaderPath" value="/WEB-INF/ftl/"/>  
  79.         <property name="defaultEncoding" value="UTF-8"/>  
  80.         <property name="freemarkerSettings" ref="freemarkConfig"/>  
  81.         <property name="freemarkerVariables">  
  82.             <map>  
  83.                 <entry key="xml_escape" value-ref="fmXmlEscape"/>  
  84.             </map>  
  85.         </property>  
  86.     </bean>  
  87.        
  88.     <!-- 文件上传配置注意:这里申明的id必须为multipartResolver -->  
  89.     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
  90.        <property name="maxUploadSize" value="500000"/>  
  91.     </bean>  
  92.        
  93.     <!-- 简单的异常处理 -->  
  94.     <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">  
  95.         <property name="exceptionMappings">  
  96.             <props>  
  97.                 <!-- 映射目录为/WEB-INF/jsp/error/upload_error.jsp -->  
  98.                 <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">/error/upload_error</prop>  
  99.             </props>  
  100.         </property>  
  101.     </bean>  
  102.        
  103.     <!-- 对静态资源文件的访问 -->  
  104.     <mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/>  
  105.            
  106.     <mvc:resources mapping="/js/**" location="/js/" cache-period="31556926" />  
  107.            
  108.     <mvc:resources mapping="/css/**" location="/css/" cache-period="31556926" />        
  109.        
  110.     <mvc:resources mapping="/upload/**" location="/upload/" cache-period="31556926" />      
  111. </beans>  

该文件中的freemarker.properties文件配置内容如下:

[html]  view plain  copy
  1. #FreeMarker settings:  
  2.    
  3. #0 is for development only! Use higher value otherwise.  
  4. template_update_delay=0  
  5. locale=zh_CN  
  6. default_encoding=UTF-8  
  7. number_format=0.##########  
  8. date_format=yyyy-MM-dd  

 


二、在该文件中,freemarker文件的配置也可以采用如下形式:

[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"   
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:p="http://www.springframework.org/schema/p"   
  5.     xmlns:context="http://www.springframework.org/schema/context"  
  6.     xmlns:util="http://www.springframework.org/schema/util"  
  7.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  8.     xsi:schemaLocation="  
  9.         http://www.springframework.org/schema/util  
  10.         http://www.springframework.org/schema/util/spring-util-3.1.xsd  
  11.         http://www.springframework.org/schema/beans   
  12.         http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
  13.         http://www.springframework.org/schema/context   
  14.         http://www.springframework.org/schema/context/spring-context-3.1.xsd  
  15.         http://www.springframework.org/schema/mvc  
  16.        http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd" >  
  17.      <!-- 开启注解 -->  
  18.     <mvc:annotation-driven />  
  19.     <!-- 扫描包 -->  
  20.     <context:component-scan base-package="com.misl.*" />  
  21.       
  22.     <!-- FreeMarker settings -->  
  23.     <bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">  
  24.         <property name="templateLoaderPath" value="" />  
  25.         <property name="freemarkerSettings">  
  26.             <props>  
  27.                 <prop key="template_update_delay">0</prop>  
  28.                 <prop key="default_encoding">UTF-8</prop>  
  29.                 <prop key="locale">zh_CN</prop>  
  30.             </props>  
  31.         </property>  
  32.     </bean>  
  33.     <!-- FreeMarker view Reslover -->  
  34.     <bean id="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">  
  35.         <property name="cache" value="false" />  
  36.         <property name="prefix" value="/WEB-INF/views/" />  
  37.         <property name="suffix" value=".ftl" />  
  38.         <property name="contentType" value="text/html;charset=UTF-8" />  
  39.     </bean>  
  40.       
  41. </beans>  

猜你喜欢

转载自blog.csdn.net/java_green_hand0909/article/details/80264261