欢迎来到天天文库
浏览记录
ID:53872776
大小:41.00 KB
页数:3页
时间:2020-04-10
《代码生成架构Velocity.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、代码生成框架VelocityVelocity是一个基于Java的模板引擎,用户可以使用模板语言VTL来引用由Java代码定义的对象。Velocity通常可以作为动态生成页面而广泛使用,还是一种功能强大的代码生成工具。Velocity模板类似于JSP文件,当客户端发送请求后,Velocity引擎江根据模板产生动态地页面。如果要使用Velocity生成动态页面,需要扩展VelocityServlet类来实现请求的处理,并通过handleRequest方法返回一个模板变量,Velocity会负责模板到页面的转换。它还可以从模板产生SQL脚本、XML及Java代码等。1)模板文件扩展名
2、为“.vm”,是一个文本文件。2)Java程序可以为VelocityServlet的子类。例:(1)helloworld.vmJava代码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
3、.##test circular 14.#foreach($product in $productList) 15.$product.Name $$product.Price 16.#end 17. 18.##test program assign 19.Total Price: $$totalPrice ##testassign#set($name="gan.shu.man")Employeename:$gan.shu.man##testcondition#if($name=="gan.shu.man")$name:verygood!!#else$name
4、:sorry!!#endProductinformation##testcircular#foreach($productin$productList)$product.Name$$product.Price#end##testprogramassignTotalPrice:$$totalPrice(2)HelloWorldVTL.javaJava代码 1.import java.io.StringWriter; 2.import java.io.Writer; 3.import java.util.ArrayList; 4.import java.util.Collec
5、tion; 5.import java.util.Iterator; 6. 1.import org.apache.velocity.Template; 2.import org.apache.velocity.VelocityContext; 3.import org.apache.velocity.app.Velocity; 4.public class HelloWorldVTL { 5. public static void main(String[] args) throws Exception{ 6. Velocity.init(
6、); 7. Template template = Velocity.getTemplate("./src/helloworld.vm"); 8. VelocityContext ctx = new VelocityContext(); 9. Collection products = new ArrayList(); 10. products.add(new Product("Product 1",12.99)); 11. products.add(new Product("Product 2",
7、13.99)); 12. products.add(new Product("Product 3",11.99)); 13. ctx.put("productList", products); 14. Iterator itr = products.iterator(); 15. double total = 0.00; 16. while(itr.hasNext()){ 17. Prod
此文档下载收益归作者所有