`
chenpingtai2008
  • 浏览: 58736 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

velocity在spring中的使用

阅读更多
velocity在spring中的使用
关键字: spring velocity配置
之前做搜索时候,前台展示使用了velocity,由于时间比较急,所以也没深入使用,这里主要记一下配置及简单使用



1 web.xml文件里的配置:

Xml代码
<!-- Velocity 的配置 --> 
    <servlet> 
        <servlet-name>velocity</servlet-name> 
        <servlet-class> 
            org.apache.velocity.tools.view.servlet.VelocityViewServlet  
        </servlet-class> 
        <init-param> 
            <param-name>org.apache.velocity.toolbox</param-name> 
            <param-value>classpath:toolbox.xml</param-value> 
        </init-param> 
        <init-param> 
            <param-name>org.apache.velocity.properties</param-name> 
            <param-value>classpath:velocity.properties</param-value> 
        </init-param> 
        <load-on-startup>10</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>velocity</servlet-name> 
        <url-pattern>*.vm</url-pattern> 
    </servlet-mapping> 
 
    <!-- Velocity 的配置结束 --> 

<!-- Velocity 的配置 -->
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>
org.apache.velocity.tools.view.servlet.VelocityViewServlet
</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>classpath:toolbox.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>classpath:velocity.properties</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>

<!-- Velocity 的配置结束 --> toolbox.xml,velocity有自己决定放到什么位置,这里指定路径就可以

velocity.properties里velocimacro.library = VM_global_library.vm,所指文件在下面velocityConfigurer指定的resourceLoaderPath下

当然要加入需要的jar包,

velocity-1.4.jar
velocity-dep-1.4.jar
velocity-dvsl-1.0.jar
velocity-tools-1.4.jar
velocity-tools-generic-1.4.jar
velocity-tools-view-1.4.jar 有这些就全了,呵呵



2 配置viewResolver



首先必须要先配置velocityConfigurer

Xml代码
<bean id="velocityConfigurer" 
        class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"> 
        <property name="configLocation"><value>classpath:velocity.properties</value></property>   
        <SPAN style="COLOR: #ff0000"><property name="resourceLoaderPath"> 
            <value>WEB-INF/velocity/</value> 
        </property></SPAN> 
        <property name="velocityProperties"> 
            <props> 
                <prop key="directive.foreach.counter.name"> 
                    loopCoounter  
                </prop> 
                <prop key="directive.foreach.counter.initial.value"> 
                    0  
                </prop> 
                <SPAN style="COLOR: #ff0000"><prop key="input.encoding">UTF-8</prop> 
                <prop key="output.encoding">UTF-8</prop> 
                <prop key="contentType">text/html;charset=UTF-8</prop></SPAN> 
            </props> 
        </property> 
    </bean> 

<bean id="velocityConfigurer"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="configLocation"><value>classpath:velocity.properties</value></property>
<property name="resourceLoaderPath">
<value>WEB-INF/velocity/</value>
</property>
<property name="velocityProperties">
<props>
<prop key="directive.foreach.counter.name">
loopCoounter
</prop>
<prop key="directive.foreach.counter.initial.value">
0
</prop>
<prop key="input.encoding">UTF-8</prop>
<prop key="output.encoding">UTF-8</prop>
<prop key="contentType">text/html;charset=UTF-8</prop>
</props>
</property>
</bean> resourceLoaderPath指定页面存放的文件夹,会自动到这个文件夹下找文件



第二处主要制定编码,防止页面出现乱码的情况,虽然在src的velocity.properties里也指定了编码但还是出现乱码的情况,这边重新指定。



Xml代码
<bean id="viewResolver" 
        class="org.springframework.web.servlet.view.velocity.VelocityViewResolver"> 
        <property name="suffix"> 
            <value>.vm</value> 
        </property> 
        <property name="exposeRequestAttributes"> 
            <value>true</value> 
        </property> 
        <property name="exposeSessionAttributes"> 
            <value>true</value> 
        </property> 
        <property name="contentType"> 
            <value>text/html;charset=UTF-8</value> 
        </property> 
<SPAN style="COLOR: #ff0000"><!--        <property name="toolboxConfigLocation" value="toolbox.xml"/>--> 
<!--     <property name="toolboxConfigLocation">--> 
<!--         <value>toolbox.xml</value>--> 
<!--     </property>--></SPAN> 
    </bean> 

<bean id="viewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="suffix">
<value>.vm</value>
</property>
<property name="exposeRequestAttributes">
<value>true</value>
</property>
<property name="exposeSessionAttributes">
<value>true</value>
</property>
<property name="contentType">
<value>text/html;charset=UTF-8</value>
</property>
<!-- <property name="toolboxConfigLocation" value="toolbox.xml"/>-->
<!-- <property name="toolboxConfigLocation">-->
<!-- <value>toolbox.xml</value>-->
<!-- </property>-->
</bean>

这样基本就可以用了,,vm文件放在web-inf/velocity下

<property name="errorView">
   <value>results</value>会找到web-inf/velocity下的results.vm文件
  </property>



4 还没深入研究



<!-- <property name="toolboxConfigLocation" value="toolbox.xml"/>-->
<!-- <property name="toolboxConfigLocation">-->
<!-- <value>toolbox.xml</value>-->
<!-- </property>-->
不知道为什么toolbox不能用,总是报

java.lang.NullPointerException
at org.springframework.web.servlet.view.velocity.VelocityToolboxView.createVelocityContext(VelocityToolboxView.java:114)错误,toolbox.xml放到web-inf/velocity下也不行,有知道的朋友说一下,网上搜了半天,只有两个韩国网站,又看不懂韩语,呵呵
分享到:
评论

相关推荐

    SpringBoot1.5以上版本兼容velocity,不降级spring

    2.导入本项目中的org.springframework目录下的velocity支持类,原样copy过去或自己打个jar 3.不想写java类配置就直接@ImportResource({"classpath:velocity.xml"})原来的xml配置 4.其他原来是啥就是啥开工

    Velocity+Spring 2[1].0+Hibernate的Web应用开发框架

    - **使用 Velocity 模板**:在控制器中返回视图名称,Spring 会自动调用视图解析器,并将模型数据传递给 Velocity 模板进行渲染。 ##### 2. 集成 Hibernate Spring 2.0 提供了多种方式来集成 Hibernate,常见的...

    Spring+SpringMVC+Mybatis+Velocity+Maven demo

    Spring、SpringMVC、Mybatis、Velocity和Maven是Java Web开发中常用的一组技术栈,它们各自在软件开发的不同层面发挥着重要作用。这个压缩包文件的标题和描述表明,它提供了一个集成这些技术的演示项目,下面我们将...

    spring mvc与velocity整合

    在Spring MVC的配置文件(如`spring-mvc.xml`)中,你需要配置VelocityViewResolver,这是Spring MVC用来解析Velocity模板的类。设置其prefix和suffix属性,分别指定视图前缀和后缀,例如: ```xml ...

    Velocity入门教程(Spring集成Velocity)

    Velocity入门教程,语法,Velocity布局,Spring框架集成Velocity

    简单学习使用Spring+Velocity发送邮件

    为了在Spring中集成Velocity,我们需要添加以下依赖: 1. `velocity-engine-core`:Velocity的核心库。 2. `velocity-tools-view`:Spring MVC与Velocity集成所需的工具库。 在Spring配置文件中,你需要定义一个`...

    velocity spring jpa hibernate 整合

    在这个项目中,"velocity spring jpa hibernate 整合"涉及到的是四个关键组件:Velocity、Spring、JPA(Java Persistence API)和Hibernate。让我们逐一深入理解这些技术并探讨它们如何协同工作。 1. **Velocity**...

    spring mvc mybatis velocity 示范

    开发者可以在Velocity模板中使用变量和控制结构,这些变量由Java后端提供,然后 Velocity 将这些模板和数据结合,生成最终的HTML或者其他格式的输出。Velocity 的语法简洁,易于学习,且执行效率高。 结合使用...

    92.Spring Boot使用模板velocity【从零开始学Spring Boot】

    要在Spring Boot项目中使用Velocity,首先需要在`pom.xml`中添加依赖。Spring Boot并没有默认包含Velocity,所以我们需要手动引入: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-...

    spring+velocity发送邮件

    根据提供的信息,我们可以详细探讨如何使用Spring框架结合Velocity模板引擎来实现邮件的自动化发送功能。这一过程涉及到Spring框架的基本配置、Velocity模板引擎的使用以及JavaMail API的应用。 ### Spring框架与...

    Spring Velocity简单的一个例子(转)

    Spring Velocity是一个将Velocity模板引擎与Spring框架集成的示例,这个例子主要展示了如何在Spring应用中使用Velocity来渲染动态内容。Velocity是一个Java模板引擎,它允许开发者将逻辑和表示分离,使得网页设计...

    spring+velocity+ibatis

    通过这个项目,开发者可以学习到如何配置Spring的Bean、如何编写Velocity模板、如何设计iBATIS的映射文件以及如何在Spring中集成这三个组件。这不仅有助于提升Java Web开发技能,还能加深对MVC模式、模板引擎和持久...

    struts+spring+velocity

    Velocity 则作为视图层,将Spring中的数据渲染成用户可见的页面。 例如,一个典型的流程可能如下: 1. 用户发送请求到Struts Action。 2. Struts Action通过Spring的依赖注入获取Service对象,执行业务逻辑。 3. ...

    Struts2+Spring+Velocity项目

    在`Struts2+Spring+Velocity`项目中,这三者通常是这样协作的: 1. **Struts2** 负责处理HTTP请求,解析请求参数,调用相应的Action。Action由Spring管理,通过DI注入必要的服务和数据。 2. **Spring** 作为整个...

    spring velocity demo

    总结起来,Spring Velocity Demo是一个演示如何在Spring应用中使用Velocity进行动态页面渲染的实例。通过Eclipse和Maven,我们可以快速地搭建开发环境,而Spring与Velocity的集成则使得模板引擎的使用更加方便,为...

    struts2+spring+velocity扩展实例V1版本

    在这个"struts2+spring+velocity扩展实例V1版本"中,我们可以看到这三个框架的集成与应用。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它的主要职责是处理用户的请求,并将其...

    velocity入门使用教程

    首先,创建一个模板文件(.vm),在这个文件中使用VTL语法定义输出格式。然后,在Java代码中初始化Velocity引擎,并通过Velocity引擎读取模板文件,再将Java对象数据传入模板,最终合并生成最终的文本输出。 具体...

    Velocity+Spring+Ibatis框架搭建说明文档1

    2. **新建工程**:使用 Myeclipse 创建一个新的 Web 工程,命名为 `SVI`,然后导入所需 jar 包,这些包应包括 Velocity、Spring 和 Ibatis 的相关依赖。 3. **配置 ibatis**:配置 `ibatis` 主要涉及到 `mybatis-...

Global site tag (gtag.js) - Google Analytics