`

Spring整合velocity

 
阅读更多
版本要1.4 , 1.6版本出现问题:Failed to load Directive: org.apache.velocity.tools.generic.directive.Ifnull, 不知道怎么解决.


http://yixiandave.iteye.com/blog/1880371
五、velocity和spring mvc的整合
本篇资料五花八门,但是大多是spring2.5的资料了
配置文件不用多说,首先是velocity的配置信息 
<bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">  
    <property name="resourceLoaderPath" value="WEB-INF/velocity"/>  
    <property name="velocityProperties">  
        <props>  
            <prop key="input.encoding">utf-8</prop>  
            <prop key="output.encoding">utf-8</prop>  
        </props>  
    </property>  
</bean>  

设定细节
<bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"> 
    <property name="resourceLoaderPath"> 
      <value>WEB-INF/velocity/</value> 
    </property> 
    <property name="velocityProperties"> 
      <props> 
        <prop key="directive.foreach.counter.name">loopCounter</prop> 
        <prop key="directive.foreach.counter.initial.value">0</prop> 
      </props> 
    </property> 
</bean> 


然后引入ViewResolver 
<bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">  
    <property name="suffix" value=".vm"/>  
    <property name="contentType" value="text/html;charset=utf-8"/>  
</bean>  



要补充的是Spring3 MVC中的Controller大多都是普通类了,我也不喜欢在一个映射方法中添加一堆莫名其妙的参数
实际上Spring支持直接的字符串解析:
@Controller  
@RequestMapping("/")  
public class IndexController {  
    @RequestMapping("/index.htm")  
    public String showIndex(){  
        return "index";  
    }  
}  


这里index会直接映射到WEB-INF/velocity/index.vm文件。
注意return字符串中不需要添加.vm字符串

###################补充2013-06-02#######################
也可以直接将配置信息写入properties文件
在VelocityConfigurer类的bean中添加 
<property name="configLocation" value="classpath:velocity.properties"/>  


#########################################################
-----------------------------------------------------------
六、velocity和javamail的整合
javamail可以使用velocity作为模板来发送模板邮件
具体在这里已经很清楚了:http://gundumw100.iteye.com/blog/515346
博主在这里要补充的是里面引用的是org.springframework.ui.velocity.VelocityEngineFactoryBean来创建一个VelocityEngine对象。
但是velocity和spring mvc的整合则使用了org.springframework.web.servlet.view.velocity.VelocityConfigurer
我们没必要为了javamail还单独配置一个VelocityEngine方法。
通过阅读源码发现org.springframework.web.servlet.view.velocity.VelocityConfigurer实际有一个getVelocityEngine()方法。
因此我们可以直接把Confirgurer注入到javamail发送类 
private VelocityEngine velocityEngine;  
@Resource(name = "velocityConfigurer")  
private void setVelocityConfigurer(VelocityConfigurer velocityConfigurer){  
    velocityEngine = velocityConfigurer.getVelocityEngine();  
}  


这个和前面的方法是等效的
分享到:
评论

相关推荐

    Velocity入门教程(Spring集成Velocity)

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

    Spring已集成jsp的环境下同时集成Velocity

    在已经集成了JSP的Spring环境中,我们有时会需要进一步集成Velocity,以利用其独特的优势,如更快的渲染速度和更清晰的逻辑分离。 集成Velocity主要涉及以下几个步骤: 1. **引入依赖**:首先,我们需要在项目中...

    spring+velocity发送邮件

    - JavaMail API:未明确指定版本,一般情况下,Spring会集成JavaMail的相关API进行使用。 ### 邮件发送类详解 #### 类结构 根据提供的代码片段,可以看到一个名为`VelocityTemplateMailMessage`的类,该类主要用于...

    spring mvc与velocity整合

    将Spring MVC与Velocity整合,可以实现高效且易于维护的前端展示。 **1. Spring MVC 概述** Spring MVC是Spring框架的一部分,它提供了一个灵活的MVC实现,包括请求处理、模型绑定、异常处理等功能。通过...

    spring+velocity+ibatis

    通过这个项目,开发者可以学习到如何在实际应用中整合Spring、Velocity和iBatis,理解它们之间的协作方式,以及如何在Java Web开发中构建高效的分层架构。同时,这也是一个实践依赖注入、模板引擎和数据库操作的好...

    Struts2+Spring+Velocity项目

    Spring还包含对数据库访问的支持,如JDBC抽象层,以及与ORM框架如Hibernate和MyBatis的集成。 **Velocity** 是一个开源的Java模板引擎,它允许开发者将HTML和业务逻辑分离。Velocity模板语言(VTL)简洁、直观,...

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

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

    spring-velocity-support-2.3

    这个版本可能包含了用于整合Spring和Velocity的各种组件、类库和配置,使得开发者能够利用Velocity的强大模板功能在Spring应用中进行视图层的构建。 Spring框架是一个广泛应用的Java企业级应用开发框架,它提供了...

    shiro_spring_velocity整合

    **整合 Shiro、Spring 和 Velocity** 1. **Shiro 安全框架** Shiro 可以接管系统的安全性,负责用户登录、权限控制、密码加密和缓存管理。通过 Shiro,你可以定义 URL 过滤规则,将权限与用户角色关联,避免每次...

    struts+spring+velocity

    Struts、Spring 和 Velocity 是Java开发中常用的三个框架,它们在构建企业级Web应用程序时起着关键作用。这里我们将深入探讨这些技术的核心概念、如何协同工作以及它们在实际项目中的应用。 **Struts** Struts 是一...

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

    Struts2、Spring和Velocity是Java Web开发中的三个重要框架,它们各自负责应用程序的不同层面,...后续版本的整合可能包括更多的技术,如Hibernate的集成,或是Spring Boot的引入,以简化配置和增强应用的自动化能力。

    springmvc4+hibernate4+velocity1.7jar包

    3. **配置整合**:在Spring的配置文件中,可以配置Hibernate的数据源、SessionFactory,以及Velocity的模板路径等,实现三大框架的无缝集成。 通过这样的整合,开发者可以获得一套高效、灵活且易于维护的Java Web...

    springJavaEmail:Spring集成Velocity 发送Email

    在这个项目"springJavaEmail:Spring集成Velocity发送Email"中,我们将探讨如何利用Spring和Velocity模板引擎来创建和发送带有动态内容的电子邮件。 首先,让我们理解Spring的JavaMailSender接口。这个接口是Spring...

    maven搭建spring mvc velocity+mybatis

    MyBatis与Spring的集成使得我们可以方便地进行事务管理,同时保持DAO层的简洁性。通过MyBatis的XML配置或注解,我们可以定义SQL查询,MyBatis会自动执行并返回结果。 搭建这样的应用,我们需要以下步骤: 1. 创建...

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

    在Spring框架中集成Velocity,首先你需要在项目的类路径下添加Velocity的相关库,包括`velocity.jar`、`velocity-tools-view.jar`等。这些库提供了Velocity引擎以及与Spring的适配器,使得在Spring应用中使用...

    spring velocity demo

    Spring Velocity Demo是一个示例项目,展示了如何在Spring框架中集成Velocity模板引擎,以实现动态页面渲染。这个项目基于Eclipse IDE构建,利用了Maven作为依赖管理工具,使得开发环境的搭建更为便捷。以下是关于...

    spring+velocity+ajax带进度条上传文件

    综上所述,"spring+velocity+ajax带进度条上传文件"是一个集成的Web开发解决方案,利用Spring处理文件上传,Velocity构建用户界面,Ajax实现异步通信和进度反馈。这个技术组合能够提供高效、流畅且具有反馈的文件...

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

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

Global site tag (gtag.js) - Google Analytics