1
使固定后缀名的所有页面都被velocity渲染
web.xml
<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/velocity.properties</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vpage</url-pattern>
</servlet-mapping>
其中velocity.properties(注意classloader和encoding)
tools.view.servlet.error.template = error.vm
tools.view.servlet.layout.directory = /
tools.view.servlet.layout.default.template = default.vm
resource.loader = webapp
webapp.resource.loader.class = org.apache.velocity.tools.view.WebappResourceLoader
webapp.resource.loader.cache = true
webapp.resource.loader.modificationCheckInterval = 2
input.encoding = gbk
output.encoding = gbk
velocimacro.library.autoreload = true
runtime.log.logsystem.class=org.apache.velocity.runtime.log.Log4JLogSystem
runtime.log.logsystem.log4j.logger=velocity
parser.pool.size=50
这样所有.vpage都经过velocity渲染
2
还可以使用tools.xml集中加引用
修改web.xml如下
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/tools.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/velocity.properties</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vpage</url-pattern>
</servlet-mapping>
于是可以在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.sx.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;
}
}
于是vpage可以这样用
<html>
<body >
Hello, $name <br>
$myTool.message <br>
$date.date<br>
</body>
</html>
输出
Hello, severus
message
Sun Jun 07 04:09:09 CST 2009
3
使用macro自定义操作函数。
可以用macro.vm集中定义。
tools.xml集中加引用,macro.vm中集中加函数。
在velocity.properties中加一句
velocimacro.library = WEB-INF/macro.vm
然后macro.vm
#macro(sayHello $name)
$myTool.sayHello($name)
#end
于是可以在vpage中这样用
#sayHello("severus")
输出
say hello by macro severus
分享到:
相关推荐
本课程的定位是velocity的系统教学课程 , 从基础到进阶 , 所以只要对velocity感兴趣 , 想系统学习velocity的开发人员都可以学习本课程 ! 学习本课程对你有如下要求 : l 有一定的JAVA编程基础(velocity engine要求) l...
该文档为velocity学习笔记,包含一些常见问题
velocity学习笔记与struts2整合 velocity学习笔记与struts2整合 velocity学习笔记与struts2整合
Velocity学习资料,从网上找到的其中学习笔记由个人编写,希望大家借鉴,后续继续完善中。
关于velocity的学习资料,velocity教程和velocity用户手册
使用struts配置含有velocity的Web项目,并且成功跳转,并使用Velocity展示数据
Velocity用户指南旨在帮助页面设计者和内容提供者了解Velocity和其简单而又强大的脚本语言(Velocity Template Language (VTL))。本指南中有很多示例展示了用Velocity来讲动态内容嵌入到网站之中,但是所有的VTL ...
JAVA的Velocity语法学习 内涵《Velocity_java开发指南》《Java的模板引擎Velocity初体验》 以及所必须的jar ,和大家一块学习,很好哦
Velocity教程
velocity中文手册 velocity学习资料
Velocity学习指南
velocity学习资料
Velocity中文学习指南
Velocity 入门资料,适合 初学者学习,内容浅显易懂
Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎
Velocity 的主要目标是通过模板生成格式文档. 因此, Velocity自身不提供任何Web相关的功能. 当你需要开发Web应用时, 需要一个框架来接收 HTTP请求和, 处理用户认证,执行业务逻辑调用,最后生成应答内容返回给客户端...
Velocity是前段的技术,它非常的灵活,跟JSP相差不多,但是动态的显示数据,值的我们学习!
赠送jar包:velocity-engine-core-2.3.jar; 赠送原API文档:velocity-engine-core-2.3-javadoc.jar; 赠送源代码:velocity-engine-core-2.3-sources.jar; 赠送Maven依赖信息文件:velocity-engine-core-2.3.pom;...