首页 > 代码库 > velocity简单例子

velocity简单例子

velocity简单例子总体实现需要三个步骤,具体如下:

1、创建一个Java工程

2、导入需要的jar包

3、创建需要的文件

============================================

1、创建一个Java工程

名称:JKTest,如下:

2、导入需要的jar包

velocity-1.7.jar  velocity-1.7-dep.jar

具体下载地址:

http://yunpan.cn/QTdCXHsIrcDff  访问密码 0029

http://yunpan.cn/QTdC945Nm5PzQ  访问密码 e6d2

3、创建需要的文件

Example.java

package jk003;import org.apache.velocity.app.Velocity;import org.apache.velocity.VelocityContext;import org.apache.velocity.Template;import org.apache.velocity.exception.ParseErrorException;import org.apache.velocity.exception.ResourceNotFoundException;import java.io.*;import java.util.ArrayList;public class Example{    public Example(String templateFile)    {        try        {            /*             * setup             */            Velocity.init("./src/jk003/velocity.properties");            /*             *  Make a context object and populate with the data.  This             *  is where the Velocity engine gets the data to resolve the             *  references (ex. $list) in the template             */            VelocityContext context = new VelocityContext();            context.put("list", getNames());            /*             *  get the Template object.  This is the parsed version of your             *  template input file.  Note that getTemplate() can throw             *   ResourceNotFoundException : if it doesn't find the template             *   ParseErrorException : if there is something wrong with the VTL             *   Exception : if something else goes wrong (this is generally             *        indicative of as serious problem...)             */            Template template =  null;            try            {                template = Velocity.getTemplate(templateFile);            }            catch( ResourceNotFoundException rnfe )            {                System.out.println("Example : error : cannot find template " + templateFile );            }            catch( ParseErrorException pee )            {                System.out.println("Example : Syntax error in template " + templateFile + ":" + pee );            }            /*             *  Now have the template engine process your template using the             *  data placed into the context.  Think of it as a  'merge'             *  of the template and the data to produce the output stream.             */            BufferedWriter writer  = new BufferedWriter(                new OutputStreamWriter(System.out));            if ( template != null)                template.merge(context, writer);            /*             *  flush and cleanup             */            writer.flush();            writer.close();        }        catch( Exception e )        {            System.out.println(e);        }    }    public ArrayList getNames()    {        ArrayList list = new ArrayList();        list.add("ArrayList element 1");        list.add("ArrayList element 2");        list.add("ArrayList element 3");        list.add("ArrayList element 4");        return list;    }    public static void main(String[] args)    {        Example t = new Example("./src/jk003/example.vm");    }}


example.vm

#set( $this = "Velocity")

$this is great!

#foreach( $name in $list )
    $name is great!
#end

#set( $condition = true)

#if ($condition)
    The condition is true!
#else
    The condition is false!
#end

 

velocity.properties

runtime.log = velocity_example.log


最后运行:Example.java

控制台输出:

 

Velocity is great!

    ArrayList element 1 is great!
    ArrayList element 2 is great!
    ArrayList element 3 is great!
    ArrayList element 4 is great!


    The condition is true!