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
最新推荐文章于 2024-07-22 14:15:06 发布