天天看點

Spring MVC多視圖整合(jsp、velocity、freemarker)

說明一下目錄結構 

Spring MVC多視圖整合(jsp、velocity、freemarker)

Spring配置檔案 

Java代碼  

Spring MVC多視圖整合(jsp、velocity、freemarker)
  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.     xsi:schemaLocation="  
  7.     http://www.springframework.org/schema/beans  
  8.     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  9.     http://www.springframework.org/schema/context  
  10.     http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
  11.     <context:component-scan  
  12.         base-package="com.spring.action" />  
  13.     <!--    
  14.         org.springframework.web.servlet.view.ResourceBundleViewResolver  
  15.         用于多個視圖內建時,ResourceBundleViewResolver是通過解析資源檔案來解析請求輸出檔案的。  
  16.         <property name="basename" value="views"></property>,即表示在/WEB-INF/classes路徑下有一個  
  17.         views.properties檔案,本例中views.properties的内容為  
  18.         welcome.(class)=org.springframework.web.servlet.view.velocity.VelocityView  
  19.         welcome.url=welcome.vm  
  20.         freemarker.(class)=org.springframework.web.servlet.view.freemarker.FreeMarkerView  
  21.         freemarker.url=freemarker.ftl  
  22.     -->  
  23.     <bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">  
  24.         <property name="basename" value="views"></property>  
  25.         <!--   
  26.             <property name="order" value="0"></property>  
  27.         -->  
  28.     </bean>  
  29.     <!-- jsp視圖解析器 -->  
  30.     <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  31.         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>  
  32.         <property name="prefix" value="/"/>  
  33.         <property name="suffix" value=".jsp"/>  
  34.     </bean>          
  35.     <!-- velocity視圖解析器 -->  
  36.     <bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">  
  37.         <property name="cache" value="true"/>  
  38.         <property name="prefix" value="/"/>  
  39.         <property name="suffix" value=".vm"/>  
  40.     </bean>  
  41.     <!-- velocity環境配置 -->  
  42.     <bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">  
  43.         <!-- velocity配置檔案路徑 -->  
  44.         <property name="configLocation" value="/WEB-INF/velocity.properties"/>  
  45.         <!-- velocity模闆路徑 -->  
  46.         <property name="resourceLoaderPath" value="/WEB-INF/velocity/"/>  
  47.     </bean>  
  48.     <!-- FreeMarker環境配置 -->  
  49.     <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">  
  50.         <!-- freemarker模闆位置 -->  
  51.         <property name="templateLoaderPath" value="/WEB-INF/freemarker/"/>  
  52.     </bean>  
  53.     <!-- FreeMarker視圖解析 -->  
  54.     <bean id="freeMarkerViewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">  
  55.         <property name="cache" value="true"/>  
  56.         <property name="prefix" value="/"/>  
  57.         <property name="suffix" value=".ftl"/>  
  58.     </bean>  
  59. </beans>  

views.properties 

Java代碼  

Spring MVC多視圖整合(jsp、velocity、freemarker)
  1. #welcome為modelAndView.setViewName("welcome");中的welcome   .(class)固定寫法  
  2. welcome.(class)=org.springframework.web.servlet.view.velocity.VelocityView  
  3. #welcome.url 路徑 welcome.vm模闆名稱  
  4. welcome.url=welcome.vm  
  5. #freemarker為modelAndView.setViewName("freemarker");中的freemarker   .(class)固定寫法  
  6. freemarker.(class)=org.springframework.web.servlet.view.freemarker.FreeMarkerView  
  7. #freemarker.url 路徑 freemarker.ftl模闆名稱  
  8. freemarker.url=freemarker.ftl  

繼續閱讀