初识velocity

首先,工欲善其事必先利其器,要利其器必须要找到合适的器才行。此次项目中要通过模版引擎生成静态页面,然后找到了velocity,能很好的实现这样的功能。

velocity是什么?

官网:http://velocity.apache.org/index.html 点击打开链接

   简单解释:Velocity是一个开放源码的模版引擎,Velocity允许我们在模版中设定变量,然后在运行时,动态的将数据插入到模版中,替换这些变量.生成最终表现层页面。

       简单的例子:

        首先:在eclipse中新建VelocityTest项目

在项目下面新建lib目录存放各种jar包,新建properties目录存放配置文件

然后:需要新建三个文件

       a、模版文件

模版文件预设模版,在此新建一个叫hello.vm的模版文件,目录可以随意放,具体目录是通过配置文件来查找的。

<html>  
    <head></head>  
    <body>  
        HELLO! $name,Welcome to velocity!  
    </body>  
</html>  
b、配置文件

在properties目录下新建一个Velocity.properties的文件

主要在path那行,是指定你的模版文件所在的目录。否则就会出现找不到目录的提示

#Velocity.properties配置示例   
# 如果需要系统从WEB-INF/classes路径加载Velocity的模板文件,取消下面两行的注释   
#resource.loader=class   
#class.resource.loader.class=org.apache.Velocity.runtime.resource.loader.ClasspathResourceLoader   
#如需禁止系统通过文件系统加载模板文件,注释如下两行   
resource.loader=file   
file.resource.loader.path=G:\Users\xusy\Workspaces\MyEclipse 10\VelocityTest\src  
#确定从何处加载velocity的模板文件   
file.resource.loader.cache=false   
#设置读取模板文件的解码格式,GB2312是为了支持中文   
input.encoding=gb2312   
#配置输出视图文件的解码格式,GB2312是为了支持中文   
output.encoding=gb2312 
c、VelocityTest的JAVA代码

在这里需要velocity的一些包的导入,可以到官网上下载

我是在CSDN上下载的 :http://download.csdn.net/detail/zdq56/5120856

        其中用到的commons-collections-3.2.1.jar,commons-lang-2.4.jar,commons-logging-1.1.jar,velocity-1.7.jar这4个包,可以放在lib目录下然后引用到项目里面来。

然后编写java代码

import java.io.FileOutputStream;  
import java.io.PrintWriter;  
import java.io.StringWriter;  
  
import org.apache.velocity.Template;  
import org.apache.velocity.VelocityContext;  
import org.apache.velocity.app.Velocity; 
public class VelocityTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {  
            // 初始化  
            Velocity.init("G:\\Users\\xusy\\Workspaces\\MyEclipse 10\\VelocityTest\\properties\\velocity.properties");  
              
            //取得velocity上下文  
            VelocityContext context = new VelocityContext();  
            context.put("name", "xusy");  
              
            Template template = Velocity.getTemplate("hello.vm");  
            StringWriter writer = new StringWriter();             
            template.merge(context, writer);  
              
            PrintWriter filewriter = new PrintWriter(new FileOutputStream("E:\\a.html"),true);  
            filewriter.println(writer.toString());  
            filewriter.close();  
  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
  
    }  
}

然后运行之后,就会在E盘目录下发现已经生成a.html,在模版中name已经相应替换成所需要替换的内容了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值