使固定后缀名的所有页面都被velocity渲染
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>
org.apache.velocity.tools.view.servlet.VelocityViewServlet
</servlet-class>
<init-param>
<param-name>
org.apache.velocity.properties
</param-name>
<param-value>
/WEB-INF/classes/velocity.properties
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
其中velocity.properties(注意classloader和encoding)
resource.loader = file
file.resource.loader.description = Velocity File Resource Loader
file.resource.loader.class = org.apache.velocity.tools.view.WebappResourceLoader
file.resource.loader.path = ./WEB-INF/templates
file.resource.loader.cache = false
file.resource.loader.modificationCheckInterval = 2
input.encoding=UTF-8
output.encoding=UTF-8
runtime.log.logsystem.class = org.apache.velocity.runtime.log.SimpleLog4JLogSystem
runtime.log.logsystem.log4j.category = velocity_log
runtime.log.error.stacktrace = false
runtime.log.warn.stacktrace = false
runtime.log.info.stacktrace = false
runtime.log.debug.stacktrace = false
runtime.log.invalid.reference = false
可以在tools.xml定义变量、velocity提供的类、以及自己定义的类。下面分别举例
<?xml version="1.0" encoding="UTF-8"?>
<toolbox>
<data>
<key>name</key>
<value>severus</value>
</data>
<tool>
<key>myTool</key>
<class>net.xxx.velocity.tools.MyTool</class>
</tool>
<tool>
<key>date</key>
<scope>request</scope>
<class>org.apache.velocity.tools.generic.DateTool</class>
<parameter name="format" value="yyyy-MM-dd hh:mm:mm"/>
</tool>
</toolbox>
其中MyTool如下
public class MyTool {
public String getMessage() {
return "message";
}
public String sayHello(String s){
return "say hello by macro " + s;
}
}
由于html被定义为velocity,于是html可以这样用
<html>
<body >
Hello, $name <br>
$myTool.message <br>
$date.date<br>
</body>
</html>
解析结果为
Hello, severus
message
Sun Jun 07 04:09:09 CST 2009
使用macro自定义操作函数。
可以用macro.vm集中定义。
tools.xml集中加引用,macro.vm中集中加函数。
在velocity.properties中加一句
velocimacro.library = WEB-INF/macro.vm
然后macro.vm
#macro(sayHello $name)
$myTool.sayHello($name)
#end
于是可以在html中这样用
#sayHello("severus")
say hello by macro severus
分享到:
相关推荐
下面是一段典型的`log4j.properties`配置示例: ```properties # 设置根日志类别为INFO级别,同时输出到控制台(stdout)和文件(R) log4j.rootCategory=INFO,stdout,R # 控制台输出设置 log4j.appender.stdout=org....
例如,可以设置元素的透明度、宽度、高度、位置等属性,然后调用`Velocity(element, {properties}, [duration], [easing])`执行动画。 4. **处理动画结束**:当动画结束后,可能需要做一些清理工作,比如移除临时的...
Properties p = new Properties(); p.setProperty("resource.loader", "class"); p.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); ...
# application.properties 示例 spring.velocity.properties.resource.loader=class spring.velocity.properties.classpath.resource.loader.class=org.apache.velocity.runtime.resource.loader....
SpringBoot与Velocity的结合示例代码 本文主要介绍了如何使用Spring Boot与Velocity进行模板引擎的结合,详细地讲解了Velocity的概念、Spring Boot与Velocity的结合配置、Velocity模板的使用等。 一、Velocity简介...
3. **集成组件**:Velocity 还可以作为一个独立的组件,用于系统集成,如报告生成、配置文件生成等场景。 **Velocity 工作流程与原理** 在使用 Velocity 进行模板处理时,通常需要执行以下步骤: 1. **初始化 ...
- 配置Velocity:通过创建`velocity.properties`文件来设置Velocity的属性,例如模板目录、缓存策略等。 3. **Java与Velocity的集成** - 创建Velocity模板:在项目的资源目录下创建`.vm`文件,编写包含VTL指令的...
1. **动画效果**:Velocity.js 提供了一套丰富的动画方法,如 `velocity("stop")` 停止当前动画,`velocity("finish")` 结束并完成所有排队的动画,以及 `velocity("animate", {properties}, [duration], [easing], ...
【 Velocity之HelloWorld配置详解】 Velocity是一个开源的Java模板引擎,它允许开发者将HTML页面与业务逻辑进行分离,使得Web开发者可以专注于页面设计,而程序员则可以专心编写业务代码。Velocity通过简单的语法...
这两个指令属于Velocity Tools的扩展,如果你的项目中引入了Velocity Tools,可以通过在`velocity.properties`文件中添加以下配置来启用它们: ```properties userdirective = org.apache.velocity.tools.generic....
- **resources** 目录:可能存储 Velocity 配置文件(如 `velocity.properties`),以及应用中使用的资源文件。 - **src/main/java** 目录:包含 Velocity 相关的 Java 类,如控制器、模型类和 velocity 工具类。 - ...
在本文中,我们将深入探讨Velocity的配置及其在Web开发中的应用。 首先,要使用Velocity,你需要在项目中引入必要的依赖。在Maven工程中,你可以在`pom.xml`文件的`dependencies`部分添加以下代码来引入Velocity的...
// Spring配置示例 @Bean public VelocityEngine velocityEngine() { Properties velocityProperties = new Properties(); velocityProperties.setProperty("resource.loader", "class"); velocityProperties.set...
3. **配置**: 在你的应用程序配置文件(如`application.properties`或`web.xml`)中,配置Velocity引擎。例如: ```properties # application.properties 示例 velocity.resource.loader=class velocity....
这个压缩包"stripes-1.5.6"包含了Stripes框架的一个版本以及相关的示例程序和配置文件,这对于学习和理解Stripes的工作原理非常有帮助。 首先,让我们深入了解一下Stripes框架的核心特性: 1. **请求驱动**:...
1. 创建一个`velocity.properties`配置文件,设置Velocity的基本属性,如模板目录、缓存策略等。 2. 初始化Velocity Engine,加载配置文件。 3. 创建一个上下文对象,将数据放入上下文。 4. 加载模板文件,如`...
5. **Velocity配置**:一个典型的Velocity配置文件(velocity.properties)会定义模板的加载路径、编码格式、是否启用缓存等参数。开发者可以根据项目需求进行个性化配置。 6. **Velocity与Spring集成**:在Spring...
本示例项目" Maven + Spring MVC + Mybatis + Velocity + 国际化配置 Demo"提供了一种实用的方法来实现这一目标。以下将详细讲解这个整合实例中的各个关键组件及其相互作用。 1. Maven:Maven 是一个项目管理工具,...
字符串字面量可以被解析或不解析,取决于`velocity.properties`配置文件中的`stringliterals.interpolate`设置。 2. **变量规范写法**:推荐使用`${name}`这种格式,例如`$vice`用于动态组合文本。 **示例**: ```...
# application.properties 示例 spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=root mybatis.mapper-locations=classpath:mapper/*....