zoukankan      html  css  js  c++  java
  • Spring MVC整合Velocity

    Velocity模板(VM)语言介绍

    Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
    当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人 员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长 期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。

    Velocity现在应用非常广泛,现在尝试将SpringMVC项目与Velocity整合。

    整合过程

    采用以前整合的[SpringMVC项目]。
    主要涉及改变的文件:
    pom.xml(引入velocity的jar包)
    spring-mvc.xml(视图配置,配置velocity)
    velocity.properties(velocity配置文件)

    (1)加入dependency

    <!-- Velocity模板 -->  
    <dependency>  
        <groupId>org.apache.velocity</groupId>  
        <artifactId>velocity</artifactId>  
        <version>1.5</version>  
    </dependency>  
    <dependency>  
        <groupId>velocity-tools</groupId>  
        <artifactId>velocity-tools-generic</artifactId>  
        <version>1.2</version>  
    </dependency>
    

    (2)视图配置

    <!-- 视图模式配置,velocity配置文件-->
    <bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">  
        <property name="resourceLoaderPath" value="/WEB-INF/views" />  
        <property name="configLocation" value="classpath:properties/velocity.properties" />  
    </bean>  
    
    <!-- 配置后缀 -->
    <bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">  
        <property name="suffix" value=".vm" />  
    </bean>
    

    (3)velocity.properties配置文件

    #encoding  
    input.encoding=UTF-8
    output.encoding=UTF-8
      
    #autoreload when vm changed  
    file.resource.loader.cache=false
    file.resource.loader.modificationCheckInterval=2
    velocimacro.library.autoreload=false  
    

    配置完后,写一个vm页面展示所有用户的userName和age。
    showAllUser.vm

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>show all users</title>
    </head>
    <body>
        <table >
            #foreach($user in $userList)
                <tr >
                    <td >$user.userName</td>
                    <td >$user.age</td>
                </tr>
            #end
        </table>
    </body>
    </html>  
    

    访问127.0.0.1/spring_mybatis_springmvc/user/showAllUser.do
    可以显示,但是中文出现了乱码。
    只需在velocityViewResolver加入配置

    <property name="contentType"><value>text/html;charset=UTF-8</value></property>
    

    好了显示正常。

    源码下载:源码

  • 相关阅读:
    BZOJ 1433 && Luogu P2055 [ZJOI2009]假期的宿舍 匈牙利算法
    BZOJ 1123 && Luogu P3469 [POI2008]BLO-Blockade 割点+乘法原理
    POJ3694 Network 边双缩点+LCA+并查集
    luogu P5142 区间方差 十分优美的线段树
    luogu P2709 小B的询问 最简单的莫队
    luogu P2731 骑马修栅栏 Riding the Fences
    TYVJ P2032 「Poetize9」升降梯上 spfa最短路
    51nod 1515 明辨是非 并查集+set维护相等与不等关系
    BZOJ 1260: [CQOI2007]涂色paint 区间DP
    luogu P4145 上帝造题的七分钟2 / 花神游历各国 维护区间和&&区间开根号
  • 原文地址:https://www.cnblogs.com/aheizi/p/4785746.html
Copyright © 2011-2022 走看看