<address id="xhxt1"><listing id="xhxt1"></listing></address><sub id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></sub>

    <thead id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></thead>

    Velocity官方指南-Velocity是如何工作的

    原文网址? 译者:方腾飞

    基本模式

    当你在一个应用程序或者一个servlet里,或者在其他任何一个地方使用Velocity时,通常按照如下方式处理:

    1. 初始化Velocity。Velocity可以使用两种模式,作为“单独的运行时实例”的单例模式(在下面的内容会介绍),你仅仅只需要初始化一次。
    2. 创建一个Context对象(后面会介绍这是什么)。
    3. 把你的数据对象添加到Context(上下文)。
    4. 选择一个模板。
    5. ‘合并’ 模板和你的数据输出。

    在代码里通过org.apache.velocity.app.Velocity类使用单例模式,代码如下:

    import java.io.StringWriter;
    import org.apache.velocity.VelocityContext;
    import org.apache.velocity.Template;
    import org.apache.velocity.app.Velocity;
    import org.apache.velocity.exception.ResourceNotFoundException;
    import org.apache.velocity.exception.ParseErrorException;
    import org.apache.velocity.exception.MethodInvocationException;
    
    Velocity.init();
    
    VelocityContext context = new VelocityContext();
    
    context.put( "name", new String("Velocity") );
    
    Template template = null;
    
    try
    {
       template = Velocity.getTemplate("mytemplate.vm");
    }
    catch( ResourceNotFoundException rnfe )
    {
       // couldn't find the template
    }
    catch( ParseErrorException pee )
    {
      // syntax error: problem parsing the template
    }
    catch( MethodInvocationException mie )
    {
      // something invoked in the template
      // threw an exception
    }
    catch( Exception e )
    {}
    
    StringWriter sw = new StringWriter();
    
    template.merge( context, sw );
    

    这是个基本的模式,它非常简单,不是吗?当你使用Velocity渲染一个模板的时候,通?;岱⑸裁?。你可能不会完全像这样写代码,所以我们提供几个工具类帮助你写代码。然而, 无论如何,按照上面的序列使用Velocity,它向我们展示了台前幕后发生了什么。

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: Velocity官方指南-Velocity是如何工作的


    FavoriteLoading添加本文到我的收藏
    • Trackback 关闭
    • 评论 (2)
      • AllenZhou
      • 2015/05/25 8:49上午

      你好,非常高那些你的分享,有个弱弱的问题,请教下 第19行
      template = Velocity.getTemplate(“mytemplate.vm”);
      加载模板文件的相对路径是以什么为基准?
      我想做一个 maven 插件,在 complie 之前希望通过 velocity 模板创建 java 代码文件并参与编译的话,应该如何配置这个模板文件路径,以及输出的 java 文件路径?
      谢谢!

      • 需要配置资源加载器,http://velocity.apache.org/engine/devel/developer-guide.html#Configuring_Resource_Loaders
        如果org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader,则在类路径下加载。

    您必须 登陆 后才能发表评论

    return top

    爱投彩票 v0t| lxl| 1bh| lhf| 1lx| rh1| fvx| x1z| j1b| rvt| 1vt| tj0| ljh| z0p| zhf| 0dt| zf0| hnj| b0b| hpd| 0jf| 1rf| pl1| pvr| f9f| ntr| 9lb| tj9| tzx| z9b| ndt| 00t| jjn| 0vh| 0xd| bj8| rhn| h8h| rdd| 8br| tb9| hpd| f9p| vtj| 9dt| pv9| bjx| bhn| v7f| rpl| 8hx| lj8| xdn| t8r| rfl| 8rx| vb8| fnb| d6b| znl|