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();
????????}
????}
}
详细解决方案
spring组合velocity的应用实例
热度:538 发布时间:2012-09-03 09:48:39.0
相关解决方案
- Spring MVC开发模式,怎么取得新增的id
- spring 表单对象绑定有关问题 String与Long的转换
- spring+quartz定时器有关问题
- spring @Scope("prototype")注解更新有关问题,寻求帮助
- Spring MVC是不是可以完全取代Struts
- spring+quartz的错误,不能正常启动
- spring mvc +ibatis+db2连接数据库的配置如何写啊小弟我链接不下
- spring MVC cvc-complex-type.2.4.c解决方案
- Spring + Mybatis 组合报错
- Spring 中 packagesToScan有关问题
- Spring MVC中点击旋钮没反应
- spring aop这个跳转异常是咋回事
- spring security3的一个小疑点。加急
- spring 事务 aop transactionManager,该怎么解决
- Spring 事务管理,该怎么处理
- 关于 Spring 声明式事务管理!解决办法
- Struts2+Spring+JPA+FREEMARKER 登录程序异常
- 关于 Spring 宣言式事务管理!
- 求SSM分页 struts +spring+mybatis 给小弟我发个学习学习吧 多谢大神们
- spring placeholderConfig的有关问题
- spring 事宜 aop transactionManager
- Spring 事务管理,该怎么解决
- struts2 + spring 整合有关问题
- struts+spring+mybatis出现错误(java.lang.ClassNotFoundException: Entity)为提示位置
- 求解 struts+spring+mybatis sqlsession为空 debug发现没有执行set方法 检查配置好像没有关问题
- 新手求教。spring+axis2集成的有关问题。The endpoint reference (EPR) for the Operation not found
- Spring 和 hibernate如何配置事物
- hibernate与此同时使用多数据源?spring+hibernate
- Spring 动态代理,该怎么解决
- cfx Spring 跟 Spring MVC一起用报错