代码生成架构Velocity.pdfVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档