转:http://gatusso52.iteye.com/blog/403439
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;...