velocity开启缓存,主要用于线上环境,在velocity.properties中
file.resource.loader.cache = true
file.resource.loader.modificationCheckInterval = -1
拨开读取模板代码:
Template t = getTemplate(stack, velocityManager.getVelocityEngine(), invocation, finalLocation, encoding);
VelocityResult.java :
protected Template getTemplate(ValueStack stack, VelocityEngine velocity, ActionInvocation invocation, String location, String encoding) throws Exception {
if (!location.startsWith("/")) {
location = invocation.getProxy().getNamespace() + "/" + location;
}
Template template = velocity.getTemplate(location, encoding);
return template;
}
VelocityEngine.java
public Template getTemplate(String name, String encoding)
throws ResourceNotFoundException, ParseErrorException, Exception
{
return ri.getTemplate( name, encoding );
}
RuntimeInstance.java
public Template getTemplate(String name, String encoding)
throws ResourceNotFoundException, ParseErrorException, Exception
{
requireInitialization();
return (Template)
resourceManager.getResource(name,
ResourceManager.RESOURCE_TEMPLATE, encoding);
}
ResourceManagerImpl.java
public Resource getResource(final String resourceName, final int resourceType, final String encoding)
throws ResourceNotFoundException,
ParseErrorException,
Exception
{
String resourceKey = resourceType + resourceName;
Resource resource = globalCache.get(resourceKey);
ResourceCacheImpl.java
public Resource get( Object key )
{
return (Resource) cache.get( key );
}
分享到:
相关推荐
- **初始化**: Velocity 引擎加载配置,如模板路径、缓存策略等。 - **创建上下文**: 填充需要在模板中使用的数据。 - **合并模板**: 将上下文中的数据与模板结合,生成最终的 HTML 或其他格式的输出。 - **输出**: ...
本项目主要探讨的是如何将SpringBoot与Mybatis、Velocity模板引擎进行整合,以便更高效地展示和处理数据。 首先,让我们深入了解SpringBoot的核心特性。SpringBoot的设计理念是“约定优于配置”,它内置了Tomcat...
- 可以通过VelocityConfigurer类配置Velocity引擎,比如设置模板路径、编码格式、缓存策略等。 - `Velocity.init()`初始化引擎,`Velocity.evaluate()`或`Velocity.mergeTemplate()`用于处理模板并生成输出。 4. ...
** Velocity模板应用详解 ** Velocity是一款强大的Java模板引擎,它为开发者提供了一种与呈现逻辑分离的方式,使得HTML、XML或者其他格式的文档可以更清晰地与业务逻辑代码分开。Velocity被广泛应用于Web应用开发,...
集成Velocity到Spring Boot项目中,通常需要在配置文件(`application.properties`或`application.yml`)中添加Velocity的相关配置,如模板路径、缓存设置等。同时,还需要在代码中创建Velocity的上下文对象,并注入...
在实际应用中,我们还需要考虑错误处理、模板缓存、国际化支持等因素。例如,可以为不同语言的用户准备不同的模板,或者在模板编译失败时提供友好的错误信息。 总的来说,Velocity通过其简洁的模板语言和灵活的数据...
在这个"Velocity模板引擎 v2.2.0.zip"压缩包中,包含了一个名为"使用须知.txt"的文件,可能详细介绍了如何安装、配置以及使用这个版本的Velocity。而"132688852448074316"可能是另一个相关文件,但没有具体的文件...
基本没有配置,开发快速(也可加入注解使用更灵活) 使用缓存机制.提升性能 方便的拦截器处理公共事务 多视图渲染JspModelAndView,XmlModelAndView,TextStreamModelAndView,Velocity),还可自行定义渲染. 方便的验证和...
本项目为基于Spring JdbcTemplate扩展并结合Velocity模板构建的SQL可配置化、缓存与热部署解决方案源码,总计包含383个文件,包括374个Java源文件、6个XML配置文件、1个Markdown文档、1个JAR包文件以及1个属性文件。...
同时,通过合理的缓存策略和配置,可以进一步提升Velocity的性能。 总之,Velocity作为Java的模板引擎,以其简单易用和高效稳定的特性,被广泛应用于Web开发中。通过熟练掌握Velocity,开发者可以更好地实现业务...
教程内容包含了解Velocity模板引擎的基础知识、学习VTL语法、设置和使用velocity.properties配置文件以及如何在Servlet和Spring MVC环境中集成Velocity。 ### Velocity模板引擎的基本使用方法 Velocity可以用来...
Velocity模板引擎是一款强大的Java模板引擎,它主要用于生成动态Web内容,尤其在MVC(Model-View-Controller)架构中,Velocity作为一个视图层技术,帮助开发者将HTML与业务逻辑分离,使得网页设计更加灵活,同时也...
4. **创建Velocity模板**: 在指定的资源路径(如`/WEB-INF/velocity/`)下创建`.vm`文件,如`example.vm`,并使用VTL语法引用模型中的数据。 5. **运行与测试**: 启动服务器,访问对应的URL,SpringMVC会调用...
- 配置Velocity:通过创建`velocity.properties`文件来设置Velocity的属性,例如模板目录、缓存策略等。 3. **Java与Velocity的集成** - 创建Velocity模板:在项目的资源目录下创建`.vm`文件,编写包含VTL指令的...
- **file.resource.loader.cache**:是否启用模板缓存,默认为`false`。开启后可以提高性能但需要注意模板更新时的缓存同步问题。 - **file.resource.loader.modificationCheckInterval**:检查模板文件更改的时间...
- 配置Velocity引擎涉及到设置资源加载器、缓存策略、错误处理以及自定义指令等。 - 通过调整配置,可以优化Velocity的性能和适应不同项目需求。 5. **Velocity与MVC模式** - 在Model-View-Controller架构中,...
【Velocity学习Web项目】 Velocity是Apache软件...这不仅有助于提高代码的可读性和可维护性,还能提升Web应用的性能,因为Velocity模板在服务器端被解析一次后,其结果可以直接缓存,减少不必要的JSP编译和执行步骤。
Velocity的配置主要通过`velocity.properties`文件进行,其中包括模板目录、缓存策略、编码设置等。例如,设置模板路径: ``` resource.loader=class class.resource.loader.class=org.apache.velocity.runtime....
2. **配置Action结果**:在Action的配置中,设置`<result>`标签的`type`属性为`velocity`,并指定模板文件的路径,如`/vm/test.vm`。 3. **Action类处理**:Action类中需要定义业务逻辑,返回的数据可以通过getter和...
在这个"Velocity简单案例"中,我们可以推测其包含了一个基础的Velocity模板使用示例,可能包括以下几个关键知识点: 1. **Velocity模板语言(VTL)**: VTL是一种声明式语言,允许开发者在模板中插入变量、控制结构...