zoukankan      html  css  js  c++  java
  • velocity简单样例

    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!

  • 相关阅读:
    C++类型转换(字符串)
    GDI+ 中Image::FromStream ,用流的方式显示图像
    mfc对话框序列化实例
    配置android开发环境eclipse获取ADT获取不到(转)
    vs开发错误总结
    MFC获取文件操作
    Android系统架构剖析(转)
    OpenCV 图像采样 插值 几何变换
    C++ char*,char[],string,CString转换
    Simscape Multibody 教程 —— 入门学习
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7112537.html
Copyright © 2011-2022 走看看