1. 程式人生 > >velocity簡單樣例

velocity簡單樣例

-a syntax getname password 一個 make import wrong you

velocity簡單樣例整體實現須要三個步驟,詳細例如以下:

1、創建一個Javaproject

2、導入須要的jar包

3、創建須要的文件

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

1、創建一個Javaproject

名稱:JKTest,例如以下:

技術分享

2、導入須要的jar包

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

詳細下載地址:

http://yunpan.cn/QTdCXHsIrcDff 訪問password 0029

http://yunpan.cn/QTdC945Nm5PzQ 訪問password 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!

velocity簡單樣例