- 2
- 0
- 约4.3千字
- 约 3页
- 2021-02-09 发布于广东
- 举报
代码生成框架Velocity
Velocity 是一个基于Java 的模板引擎,用户可以使用模板语言VTL 来引用由Java 代码定义的对象。
Velocity 通常可以作为动态生成页面而广泛使用,还是一种功能强大的代码生成工具。
Velocity 模板类似于JSP 文件,当客户端发送请求后,Velocity 引擎江根据模板产生动态地页面。
如果要使用Velocity 生成动态页面,需要扩展VelocityServlet 类来实现请求的处理,并通过
handleRequest 方法返回一个模板变量,Velocity 会负责模板到页面的转换。
它还可以从模板产生SQL 脚本、XML 及Java 代码等。
1)模板文件
扩展名为 “.vm”,是一个文本文件。
2)Java 程序
可以为VelocityServlet 的子类。
例:
(1)helloworld.vm
Java 代码
1. ##test assign
2. #set($name = gan.shu.man)
3. Employee name: $gan.shu.man
4.
5. ##test condition
6. #if($name == gan.shu.man)
7. $name: very good!!
8. #else
9. $name: sorry!!
10.#end
11.
12.Product information
13.##test circular
14.#foreach($product in $productList)
15.$product.Name $$product.Price
16.#end
17.
18.##test program assign
19.Total Price: $$totalPrice
(2)HelloWorldVTL.java
Java 代码
1. import java.io.StringWriter;
2. import java.io.Writer;
3. import java.util.ArrayList;
4. import java.util.Collection;
1
5. import java.util.Iterator;
6.
7. import org.apache.velocity.Template;
8. import org.apache.velocity.VelocityContext;
9. import org.apache.velocity.app.Velocity;
10.public class HelloWorldVTL {
11. public static void main(String[] args) throws Exception{
12. Velocity.init();
13. Template template = Velocity.getTemplate(./src/helloworld.vm
);
14. VelocityContext ctx = new VelocityContext();
15. Collection products = new ArrayList();
16. products.add(new Product(Product 1,12.99));
17. products.add(new Product(Product 2,13.99));
18. products.add(new Produ
您可能关注的文档
最近下载
- 2025年长沙市中考地理试卷真题(含答案详解).pdf
- 视听语言PPT课件(共8单元)第一章.pptx VIP
- 马克思主义发展史PPT全套课件.pptx
- 《心脏的解剖与功能》课件.ppt VIP
- DB53_T 1229-2024 暗褐脉柄牛肝菌菌种生产技术规程.pdf VIP
- 《马克思主义发展史》课程教学大纲.doc VIP
- 《马克思主义发展史》课程教学大纲.docx VIP
- 服务心理学(第四版)课件 项目二 服务心理学.pptx
- (对照贯彻党的创新理论方面,对照加强党性锤炼方面,对照联系服务群众方面,对照发挥先锋模范作用方面,对照改作风树新风方面)基层党员2025年度组织生活会个人对照检查(五个对照).docx VIP
- 2025年甘肃三支一扶考试公共基础知识真题及答案.docx VIP
原创力文档

文档评论(0)