Java 基础三:使用Velocity模板生成 xml
2013-09-24 11:13
459 查看
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
现在我们就来看这个小例子:
1. 建立一个Velocity模板,以vm结尾,例子中模板文件为TaxReportXml.vm,内容如下:
$name 为需要程序传入的参数。
2. 以下为 velocityTest的代码:
看一下运行结果,在d:下的velocity_test.xml中:
参数已经传到xml里了,很简单吧
现在我们就来看这个小例子:
1. 建立一个Velocity模板,以vm结尾,例子中模板文件为TaxReportXml.vm,内容如下:
<?xml version="1.0" encoding="utf-8"?> <html> <head></head> <body> HELLO! $name,Welcome to velocity! </body> </html>
$name 为需要程序传入的参数。
2. 以下为 velocityTest的代码:
package velocity; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.text.MessageFormat; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; import org.joda.time.DateTime; public class VelocityTest { /** * @param args */ public static void main(String[] args) { //得到VelocityEngine VelocityEngine ve = new VelocityEngine(); //得到模板文件 Template template = ve.getTemplate("/src/velocity/TaxReportXml.vm", "UTF-8"); VelocityContext context = new VelocityContext(); //传入参数 context.put("name", "jacky"); try { //生成xml FileWriter fileWriter = getFileWriter("velocity_test.xml"); //调用merge方法传入context template.merge(context, fileWriter); fileWriter.flush(); fileWriter.close(); } catch (IOException e) { e.printStackTrace(); } } private static FileWriter getFileWriter(String fileName) throws IOException { String fullPath = MessageFormat.format("{1}{0}{2}", File.separator, "d://", fileName); System.out.println("fileName = " + fullPath); File outputFile = new File(fullPath); return new FileWriter(outputFile); } }
看一下运行结果,在d:下的velocity_test.xml中:
<?xml version="1.0" encoding="utf-8"?> <html> <head></head> <body> HELLO! jacky,Welcome to velocity! </body> </html>
参数已经传到xml里了,很简单吧
相关文章推荐
- 使用JAXB时,xml与java对象互转以及初始情况下直接由模板xml生成javabean
- java基础-使用dom4j解析XML文件
- 使用Java jaxb处理bean生成xml中一些问题
- java-pdf-itext7、itextpdf 生成pdf 文档,使用pdf模板生成(支持中文字体)
- Java IText使用PDF模板 生成 输出PDF
- Java 基础 分别使用Math和Random生成随机数
- JAVA基础知识之JVM-——使用反射生成并操作对象
- Java Web项目中利用FreeMarker模板生成的word文档,其它格式文档同理,如pdf,txt,java,xml等等
- Java-pdf模板制作流程-使用pdf 模板生成pdf文件
- JAVA-使用反射为任意对象生成XML
- 使用Java进行FreeMarker的web模板开发的基础教程
- java使用 freemarker 模板生成word文件
- Java使用DOM生成XML文件
- Java使用 VelocityEngine模板引擎快速生成HTML等各种代码
- 如何在IJ中使用Jaxb2通过xml定义生成对应的Java Entity类的文件
- 使用Java进行FreeMarker的web模板开发的基础教程
- 【java】 iText使用PDF模板生成输出PDF
- 使用Java提供的类生成XML例子
- 用Xsl转换XMl生成Excel(可保留格式,使用StringTemplate模板引擎)
- java使用XSL+XML生成HTML文件