代码生成架构Velocity_第1页
代码生成架构Velocity_第2页
代码生成架构Velocity_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、代码生成框架VelodtyVelocity 是一个基于Java的模板引擎,用户可以使用模板语言VTL来引用由Java代码定义的对象。Velocity 通常可以作为动态生成页面而广泛使用,还是一种功能强大的代码生成工具。Velocity 模板类似于JSP文件,当客户端发送请求后,Velocity引擎江根据模板产生动态地页面。如果要使用 Velocity 生成动态页面,需要扩展VelocityServlet类来实现请求的处理,并通过handleRequest方法返回一个模板变量,Velocity会负责模板到页面的转换。它还可以从模板产生SQL脚本、XMLM Java代码等。1)模板文件扩展名为“

2、.vm”,是一个文本文件。2) Java程序可以为VelocityServlet的子类。例:(1) helloworld.vmJava代码1. #test assign2. #set($name = "gan.shu.man")3. Employee name: $gan.shu.man4.5. #testcondition6. #if($name = "gan.shu.man")7. $name:verygood!8. #else9. $name:sorry!10. #end11.12. Product information13. #test cir

3、cular14. #foreach($product in $productList)15. $product.Name$product.Price16. #end17.18. #test program assign19. Total Price: $totalPrice(2) HelloWorldVTL.javaJava代码1. import java.io.StringWriter;2. importjava.io.Writer;3. importjava.util.ArrayList;4. importjava.util.Collection;5. importjava.util.It

4、erator;7. importorg.apache.velocity.Template;8. importorg.apache.velocity.VelocityContext;9. importorg.apache.velocity.app.Velocity;10. publicclass HelloWorldVTL 11.public static voidmain(String口12.Velocity.init();args) throws Exception13.");9.30. T

5、emplate template=Velocity.getTemplate("./src/helloworld.vmVelocityContextctx = new VelocityContext();Collectionproducts = new ArrayList();products.add(newProduct("Product1",12.99);products.add(newProduct("Product2",13.99);products.add(newProduct("Product3",11.99);c

6、tx.put("productList",products);Iteratoritr =products.iterator();double total =0.00 ;while(itr.hasNext()Productp = (Product)itr.next();total+=p.getPrice();ctx.put("totalPrice",new Double(total);Writer writer =new StringWriter();template.merge(ctx,writer);System.out.println(writer.

7、toString();31. (3) Product.javaJava 代码1. publicclassProduct 2.privateString name;3.privatedouble price;4.publicProduct(Stringname,double price)5.super();6. = name;7.this.price= price;8.9.publicString getName() 10.return name;11.12.publicvoid setName(Stringname) 13. = name;14.15.pub

8、licdouble getPrice()16.return price;17. )18. publicvoid setPrice(double price) 19. this.price = price;20. 21. 输出:2008-3-10 2:45:12 org.apache.velocity.runtime.log.JdkLogChute log信息:FileResourceLoader : adding path '.'2008-3-10 2:45:12 org.apache.velocity.runtime.log.JdkLogChute log信息:Null reference template './src/helloworld.vm', line 3, column 16 : $gan.shu.man cannot be resolved.Employee name: $gan.shu.mangan.shu.man: very good!Product informationProduct 1$12.99Product 2$13.99Product 3$11.99Total Price: $38.973)处理流程:使用Velocity 生成过程如下:(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论