Velocity 加载文件方式

     一  从classpath 下面加载

      

            Properties p = new Properties();
        	p.put("file.resource.loader.class",
        	"org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
        	Velocity.init(p);

   二 绝对路径加载

 

  

 

Properties p = new Properties();
p.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, "d://");
Velocity.init(p);

   三  配置 velocity.properties 

input.encoding = UTF-8

file.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader

velocity.properties 默认的问题在jar包中org.apache.velocity.runtime.defaults 下 自己可以从新配置覆盖

Properties p = new Properties();
        	p.load(this.getClass().getResourceAsStream("/velocity.properties"));
        	Velocity.init(p);

 

   四 加载的几种类

 

ResourceLoader一共有7种:

 

1、ClasspathResourceLoader

2、DataSourceResourceLoader

3、FileResourceLoader

4、JarResourceLoader

5、StringResourceLoader

6、URLResourceLoader

7、WebappLoader

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Velocity 中,本地文件路径指的是相对于当前工作目录或者绝对路径的文件路径,用于加载模板文件或者读取资源文件等操作。本地文件路径可以是相对路径或者绝对路径,具体取决于使用时的上下文环境。 如果是在 Java 应用程序中使用 Velocity,通常可以使用相对路径或绝对路径来指定本地文件路径。相对路径是相对于当前工作目录的路径,可以使用 "." 或 ".." 表示上级或下级目录。绝对路径是从根目录开始的路径,可以使用 "/" 或 "C:\\" 等表示。 以下是一个使用相对路径的例子: ```java import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class VelocityExample { public static void main(String[] args) { Velocity.init(); // 初始化 Velocity 引擎 VelocityContext context = new VelocityContext(); // 创建 Velocity 上下文对象 context.put("name", "Velocity"); // 添加模板变量 Template template = Velocity.getTemplate("template.vm"); // 加载模板文件,使用相对路径 // 如果模板文件在当前工作目录的 subdirectory 目录下,可以使用 "subdirectory/template.vm" try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) { template.merge(context, writer); // 渲染模板并输出到文件中 } catch (IOException e) { e.printStackTrace(); } } } ``` 在上面的例子中,我们使用了相对路径 "template.vm" 来指定模板文件的位置。这里假设模板文件位于当前工作目录下,可以使用 "." 来表示当前工作目录。如果模板文件在当前工作目录的 subdirectory 目录下,可以使用 "subdirectory/template.vm"。 需要注意的是,在使用相对路径时,要确保当前工作目录的正确性。如果不确定当前工作目录,可以使用 System.getProperty("user.dir") 方法来获取当前工作目录的路径。 如果使用绝对路径来指定本地文件路径,可以直接指定文件的绝对路径,例如: ```java Template template = Velocity.getTemplate("/absolute/path/to/template.vm"); ``` 在上面的例子中,我们使用了绝对路径 "/absolute/path/to/template.vm" 来指定模板文件的位置。这里假设模板文件位于根目录下的 absolute/path/to 目录中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值