• 转 Velocity中加载vm文件的三种方式


    Velocity中加载vm文件的三种方式
     
    velocitypropertiespath
    Velocity中加载vm文件的三种方式:
      
    方式一:加载classpath目录下的vm文件
    Properties p = new Properties();
    p.put("file.resource.loader.class",
    "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
    Velocity.init(p);
    ...
    Velocity.getTemplate(templateFile);
      
      
    方式二:根据绝对路径加载,vm文件置于硬盘某分区中,如:d://tree.vm
    Properties p = new Properties();
    p.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, "d://");
    Velocity.init(p);
    ...
    Velocity.getTemplate("tree.vm");
      
      
    方式三:使用文本文件,如:velocity.properties,配置如下:
    #encoding
    input.encoding=UTF-8
    output.encoding=UTF-8
    contentType=text/html;charset=UTF-8
    不要指定loader.
     
      
    再利用如下方式进行加载
    Properties p = new Properties();
    p.load(this.getClass().getResourceAsStream("/velocity.properties"));
    Velocity.init(p);
    ...
    Velocity.getTemplate(templateFile);
     
    package com.study.volicity;
     
    import java.io.IOException;
    import java.io.StringWriter;
    import java.util.Properties;
     
    import org.apache.velocity.app.Velocity;
    import org.apache.velocity.Template;
    import org.apache.velocity.VelocityContext;
     
    public class Test {
         
     
        public static void main(String args[]) throws IOException {
     
            Properties pros = new Properties();
            pros.load(Test.class.getClassLoader().getResourceAsStream("velocity.properties"));
            Velocity.init(pros);
            VelocityContext context = new VelocityContext();
     
            context.put("name", "Velocity");
            context.put("project", "Jakarta");
     
            /* lets render a template 相对项目路径 */
            Template template = Velocity.getTemplate("/view/header.vm");
     
            StringWriter writer = new StringWriter();
     
            /* lets make our own string to render */
            template.merge(context, writer);
            System.out.println(writer);
        }
     
    }
  • 相关阅读:
    wordpress 的主题
    yapi api协作管理平台
    美团外卖券小程序路径过长导致插入文本消息失败的问题解决办法
    mp://XzDiXafjfvLnjvp
    supervisor 命令
    YII beego gin 框架对比
    芝麻微客-企业微信公域到私域流量运营助手
    H5跳转小程序
    PowerBI开发 第十九篇:基于Page创建Tooltip
    PowerBI开发 第十八篇:行级安全(RLS)
  • 原文地址:https://www.cnblogs.com/c-abc/p/4829084.html
Copyright © 2020-2023  润新知