package com.wx.test; import java.io.ByteArrayInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; /** * @Class name: VelocityTest.java * * Short description on the purpose of the program. * * @author: wangxiang * @modified: Oct 31, 2012 * */ public class VelocityTest { /** * @param args */ public static void main(String[] args) { VelocityEngine engine = new VelocityEngine(); HashMap<String, Object> paramMap = new HashMap<String, Object>(); paramMap.put("ccRecipientsName", "aaaaaaa"); paramMap.put("subject", "bbbbbbb"); paramMap.put("minutesPurposeCode", "ccccccc"); List<VelocityTestTO> list = new ArrayList<VelocityTestTO>(); VelocityTestTO to = new VelocityTestTO(); to.setId("1"); to.setName("name1"); to.setAge("25"); list.add(to); to = new VelocityTestTO(); to.setId("2"); to.setName("name2"); to.setAge("23"); list.add(to); to = new VelocityTestTO(); to.setId("3"); to.setName("name3"); to.setAge("26"); list.add(to); paramMap.put("pList", list); VelocityContext context = new VelocityContext(paramMap); StringWriter writer = new StringWriter(); engine.evaluate(context, writer, "", getTestHtml()); // System.out.println(writer.toString()); InputStream is = new ByteArrayInputStream(writer.toString().getBytes()); byte[] byteA = ReportGeneratePD4ML.generatePDFReportByPd4ml(is, "", "", null, null); try { FileOutputStream fos = new FileOutputStream("D:/CaseConnect/Template Engine/Velocity/test.pdf"); fos.write(byteA); fos.flush(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private static String getTestHtml() { return "<html>"+ "<body>"+ "<table>"+ "<tr>"+ " <td>CC:</td> "+ " <td>${ccRecipientsName}</td> "+ " </tr> "+ " <tr> "+ " <td>subject:</td>"+ " <td>${subject}</td> "+ " </tr> "+ " <tr> "+ " <td>minutesPurposeCode:</td> "+ " <td>${minutesPurposeCode}</td> "+ " </tr>"+ "</table><br/>"+ "<table>"+ "#foreach ( $p in $pList )"+ "<tr>"+ " <td>Id:</td> "+ " <td>$p.id</td> "+ " <td>Name:</td>"+ " <td>$p.name</td> "+ " <td>Age:</td> "+ " <td>$p.age</td> "+ " </tr>"+ "#end"+ "</table>"+ "</body>"+ "</html>"; } }
Velocity Replacement
猜你喜欢
转载自wangxiang286.iteye.com/blog/1710915
今日推荐
周排行