velocity模板在spring中的簡單配置

1.首先需要配置的是velocity引擎自己,可以通過以下方式在spring配置文件中聲明一個VelocityConfigurer   Bean:

spring-webmvc-3.2.0.M1.jar

VelocityConfigurer負責在spring中設置Velocity引擎。這裏,通過屬性resourceLoaderPath告訴Velocity到哪裏尋找它的模板。建議將模板放到WEB-INF下的某個子目錄下,可以保證這些模板不能被直接訪問。

<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
        <property name="resourceLoaderPath">
            <value>WEB-INF/Template/</value>
        </property>
    </bean>

在配置屬性時有兩種方式,一是通過下面這種屬性的方式:

<property name="velocityProperties">
    <props>   
        <prop key="">  </prop>
        <prop key="">  </prop>
    </props>
</property>

二是通過配置文件的方式(velocity.properties)

<property name="configLocation">
    <value>/WET-INF/config/velocity.properties</value>
</property>

 

2.解析velocity視圖

配置視圖解析器

複製代碼
<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
        <property name="viewClass">
            <value>org.springframework.web.servlet.view.velocity.VelocityView</value>
        </property>
        <property name="suffix">
            <value>.vm</value>
        </property>
    </bean>
複製代碼

VelocityViewResolver和Velocity的關係與InternalResourceViewResolver和JSP的關係相似。InternalResourceViewResolver使用prefix屬性和suffix屬性由視圖的邏輯名構造出模板文件路徑,這樣在Controller中的ModelAndView中直接通過文件名找模板。如下所示:

複製代碼
< bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    
        <property name="viewClass">
            <value>org.springframework.web.servlet.view.InternalResourceView</value>
        </property>
        < property name="prefix">
            <value>/WEB-INF/JSP/</value>
        </property> 
        <property name="suffix">
            <value>.jsp</value>
        </property>
    </bean>
複製代碼

在這裏我們僅僅設置了suffix屬性爲.vm擴展名。由於模版文件的路徑已經通過VelocityConfigurer的resourceLoaderPath屬性配置好了。

3.渲染頁面

例如map.put("hello","helloWorld");

返回信息爲return new ModelAndView("index",map);

視圖的邏輯名爲index。當解析這個視圖時,index加上後綴.vm構成一個模板名index.vm。VelocityViewResolver會在WEB-INF/vilocity路徑下尋找這個模板。

然後再index.vm下通過如下就可以顯示數據:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<h1>${hello}</h1>
</body>
</html>

 

以上只是一個簡單的配置過程。如有錯誤,望告知,謝謝!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章