在Velocity中默认加载vm文件的类是FileResourceLoader,而这个类是用File来读取vm文件的。所以在不同的环境下,File的根目录是不一样的,如在eclipse项目中就是项目的文件夹为根目录 。
解决vm找不到的方法我知道的有这两种:
1. 设置把Velocity(RuntimeConstants)中的FILE_RESOURCE_LOADER_PATH对应的值设置为vm文件的绝对路径,如:properties.put(Velocity.FILE_RESOURCE_LOADER_PATH, "E:/project/velocity/vm/");
2. 一般vm文件可以放在src目录下,这样我们可以把默认加载vm文件类更改成ClasspathResourceLoader,ClasspathResourceLoader加载资源时是通过ClassLoader的getResourceAsStream方法。可以这样修改:properties.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");这样就可以直接加载classpath目录下的vm文件了。
分享到:
相关推荐
SpringBoot 2.x 版本对 Velocity 模板不支持的解决方案 随着 SpringBoot 的版本升级,Velocity 模板引擎不再被支持。从 SpringBoot 1.5.x 版本开始,Velocity 模板引擎的支持就被逐步删除,而在 2.x 版本中,...
4. **iBatis**:另一种ORM解决方案,iBatis强调SQL脚本的控制权,将数据库操作与业务逻辑解耦。虽然iBatis本身不直接支持Velocity,但在某些情况下,开发者可能会用Velocity来构建基于iBatis的动态页面。 【标签】...
无论是展示用户特定信息、促销商品列表还是复杂的报表数据,VTL都能提供灵活的解决方案,使得Web页面能够根据不同的用户或上下文环境呈现定制化的信息。 ##### 2. MVC模式支持 Velocity的架构设计遵循MVC(Model-...
首先,"unable to find resource 'hello.vm' in any resource loader"这个错误表明Velocity的ResourceLoader找不到名为`hello.vm`的模板文件。ResourceLoader是Velocity中负责加载模板的组件,它会按照预设的路径或...
- **解决方案**:可以通过以下两种方式解决该问题: - 将数组转换为`List`或其他集合类型,以便使用`#foreach`进行循环。 - 创建公共的Util类来辅助数组操作,例如使用Java反射技术来实现数组元素的索引访问。 ...
**Spring框架** 是一个全面的后端开发解决方案,它提供依赖注入(DI)和面向切面编程(AOP),用于管理对象的生命周期和行为。Spring的IoC容器使得开发者能够轻松地解耦组件,提高代码的可测试性和可维护性。此外,...
Velocity 将 Java 代码从 Web 页面中分离出来,确保了网站在长期运营过程中仍然易于维护,并且提供了不同于 JSP 和 PHP 的另一种解决方案。 #### 3. Velocity 可以做什么? ##### 3.1 MudStore 示例 假设你是一个...
Spring框架提供了强大的视图解析能力,允许开发者集成多种视图技术,提供更灵活的解决方案。Spring MVC通过`ViewResolver`接口来解析请求到相应的视图,开发者可以自定义视图解析器或者使用内置的解析器,比如`...
总结来说,这个解决方案利用了Velocity模板引擎的强大能力,结合Java后端处理,实现了UI查询结果到自定义格式PDF报表的转化。用户友好的界面与高效的后台处理相结合,提供了高效的数据导出功能。在实际开发中,这种...
Hybris是SAP公司推出的一款全渠道电子商务平台,提供了一整套解决方案来支持企业级的电子商务需求。Hybris Email WCMS主要用于管理邮件模板的设计、编辑和发布;而Process Engine则是用来处理业务流程自动化,包括但...
在阅读了博客文章“https://kennylee26.iteye.com/blog/1229993”后,你可能会找到更具体的解决方案或者作者遇到的问题及处理方法。这个链接提供了作者在实践中遇到问题和解决过程的详细记录,对于遇到相同问题的...
总的来说,一个高效的Java CMS结合了Java的技术优势和现代Web开发的最佳实践,为企业提供了一套强大的内容管理和信息发布解决方案。开发者可以依据需求选择适合的Java CMS,如Magnolia、Liferay或OpenCms,也可以...
6. `PM2VM.m`:可能实现了粒子的速度更新规则,从个人历史最优(pBest)和全局最优(gBest)到速度(Velocity)的映射,这是PSO算法的核心部分。 7. `linkM.m`:可能涉及到邻接矩阵的处理,对于一些图论问题,如...
NVelocity可以轻松地与ASP.NET、ASP.NET MVC、NHibernate等.NET框架集成,为应用程序提供灵活的视图层解决方案。 10. **社区和支持** NVelocity有一个活跃的社区,提供了丰富的文档、示例和插件,帮助开发者解决...