import java.util.Map;
import org.apache.velocity.app.VelocityEngine;
import org.springframework.ui.velocity.VelocityEngineUtils;
public class MsgBean ...{
private VelocityEngine velocityEngine;
private String msg;
private Map model; // 用来保存velocity中的参数值
private String encoding; // 编码
private String templateLocation; // 注入的velocity模块
public String getEncoding() ...{
return encoding;
}
public void setEncoding(String encoding) ...{
this.encoding = encoding;
}
public String getTemplateLocation() ...{
return templateLocation;
}
public void setTemplateLocation(String templateLocation) ...{
this.templateLocation = templateLocation;
}
public Map getModel() ...{
return model;
}
public void setModel(Map model) ...{
this.model = model;
}
public String getMsg() ...{
// return title;
// 将参数值注入到模块后的返回值
return VelocityEngineUtils.mergeTemplateIntoString(velocityEngine,
templateLocation, encoding, model);
}
public void setMsg(String msg) ...{
this.msg = msg;
}
public VelocityEngine getVelocityEngine() ...{
return velocityEngine;
}
public void setVelocityEngine(VelocityEngine velocityEngine) ...{
this.velocityEngine = velocityEngine;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="resourceLoaderPath">
<value>classpath:velocity</value>
</property>
<property name="velocityProperties">
<props>
<prop key="resource.loader">class</prop>
<prop key="class.resource.loader.class">
org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
</prop>
<prop key="velocimacro.library"></prop>
<prop key="input.encoding">GBK</prop>
<prop key="output.encoding">GBK</prop>
<prop key="default.contentType">text/html; charset=GBK</prop>
</props>
</property>
</bean>
<bean id="msgBean" class="MsgBean">
<property name="templateLocation" value="test.vm"></property>
<property name="encoding" value="GBK"></property>
<property name="velocityEngine" ref="velocityEngine"></property>
</bean>
</beans>
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.io.FileUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestVeloctiy ...{
public static void main(String[] args) ...{
// TODO Auto-generated method stub
ApplicationContext ctx=new ClassPathXmlApplicationContext("test3.xml");
MsgBean msgBean=((MsgBean)ctx.getBean("msgBean"));
Map<String, String> data = new HashMap<String, String>();
data.put("me","yourname");
msgBean.setModel(data);
System.out.println(msgBean.getMsg());
//根据apache common IO 组件直接将内容写到一个文件中去.
File dest = new File( "test.html" );
try ...{
FileUtils.writeStringToFile( dest, msgBean.getMsg(), "GBK" );
} catch (IOException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pengchua/archive/2008/01/17/2049490.aspx
分享到:
相关推荐
在这个"struts2+spring+velocity扩展实例V1版本"中,我们可以看到这三个框架的集成与应用。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它的主要职责是处理用户的请求,并将其...
根据提供的信息,我们可以详细探讨如何使用Spring框架结合Velocity模板引擎来实现邮件的自动化发送功能。这一过程涉及到Spring框架的基本配置、Velocity模板引擎的使用以及JavaMail API的应用。 ### Spring框架与...
通过这种方式,Spring结合Velocity不仅可以帮助你构建结构化的邮件内容,还可以轻松地处理动态数据,使得邮件发送变得更加灵活和高效。记得在实际应用中根据你的SMTP服务器配置和项目需求调整相关代码。希望这个教程...
1. **Spring Velocity工具**: 这是一个Spring的模块,提供了对Velocity的全面支持,包括Velocity模板加载器、Velocity模板视图解析器等,使得开发者可以方便地在Spring应用中使用Velocity模板。 2. **Velocity模板...
标题“spring3.2+velocity 实例”表明我们要探讨的是如何在Spring 3.2框架中集成并使用Velocity模板引擎来构建动态Web应用。Velocity是一个开源的Java模板引擎,它允许开发者将业务逻辑与表现层分离,使得网页设计...
总结起来,Spring Velocity Demo是一个演示如何在Spring应用中使用Velocity进行动态页面渲染的实例。通过Eclipse和Maven,我们可以快速地搭建开发环境,而Spring与Velocity的集成则使得模板引擎的使用更加方便,为...
本实例将探讨如何使用Maven作为项目管理工具,结合Spring MVC作为控制层框架,Mybatis作为数据访问层框架,以及Velocity作为视图层模板引擎,来构建一个完整的Java Web应用。以下是关于这些技术的详细解释和整合步骤...
本实例以"Maven构建spring struts2 ibatis velocity小实例"为主题,将详细介绍这四者的整合过程,帮助开发者快速理解和应用这些技术。 首先,Maven是Java项目管理工具,它负责项目的构建、依赖管理和项目信息管理。...
【Velocity模板应用案例】 Velocity是Apache软件基金会的一个开源项目,它是一个基于Java的模板引擎,用于生成动态内容。Velocity通过将逻辑与呈现分离,使得开发者可以专注于业务逻辑,而设计师可以自由地设计页面...
在这个整合实例中,开发者可以学习到如何设置Maven的POM.xml文件来管理所有依赖,如何配置Spring MVC的DispatcherServlet和ApplicationContext,如何定义Mybatis的Mapper接口和XML配置文件,以及如何在Velocity模板...
在实际开发中,结合Spring MVC或其他框架,Velocity能更好地服务于Web应用程序,提供灵活且高性能的模板渲染解决方案。如果你想要进一步学习和实践,可以从提供的"example"压缩包中查看具体的代码示例,这将有助于...
与Spring MVC结合,Velocity可以作为视图层,将Spring MVC处理后的数据渲染成用户友好的页面。 **整合过程**: 整合Spring MVC、MyBatis和Velocity,首先需要在项目的pom.xml文件中引入这三个框架的依赖。然后,...
在本实例中,“velocity生成静态页面实例”是一个具体的应用场景,通过Velocity模板语言,我们可以将动态数据与HTML模板结合,自动生成静态HTML页面。 Velocity的工作原理是,它解析含有 Velocity指令的模板文件,...
这些模板可以直接在Spring MVC的控制器方法中返回,Spring MVC会使用Velocity视图解析器找到对应的模板,并结合模型数据渲染出HTML页面。 例如,一个简单的Spring MVC控制器方法可能如下: ```java @Controller ...
### Velocity+Spring 2.0+Hibernate 的 Web 应用开发框架 #### 一、引言 随着互联网技术的发展,Web 应用系统的复杂度不断提高,为了更好地组织和管理应用程序,MVC(Model-View-Controller)架构逐渐成为主流。在...
【标题】"WebWork+Spring+Ibatis+Velocity实例"是一个综合性的开发示例,它展示了这四个技术在实际Web应用程序中的集成与应用。WebWork是早期的一个MVC(Model-View-Controller)框架,提供了丰富的动作调度和数据...
总结,"spring velocity 发邮件"涉及到的关键技术是Spring的邮件服务组件和Velocity模板引擎的结合使用,通过它们可以实现复杂且个性化的邮件发送功能,包括单发、群发邮件,以及包含图片和附件的邮件。在实际开发中...
Spring框架则是一个广泛使用的Java企业级应用开发框架,提供了一种结构化的应用开发方式。Struts2是一个基于MVC设计模式的Java Web框架,用于简化Web应用的开发。JSON(JavaScript Object Notation)是一种轻量级的...
Velocity是Apache软件基金会下的一个开源模板引擎,用于生成动态Web页面。...通过以上内容的学习,我们能够掌握Velocity模板引擎的基本使用方法,并能够将其应用于Servlet和Spring MVC项目中,完成动态网页内容的生成。
本篇文章将通过一个简单显示用户信息的实例整合Spring mvc+mybatis+Maven+velocity+mysql. 一、.Maven工程目录 二、Spring mvc + mybatis +maven实现 1.Mysql数据库表数据