import java.io.IOException;
import java.io.StringWriter;
import java.util.List;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.exception.MethodInvocationException;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
public class PublishUtil {
private static VelocityContext context ;
private static PublishFileWriter fileWriter = new PublishFileWriter();
/**
* 生成文件
*
* @preserve
*/
public static void writeFile(List list , String realpath , String fileName , String strTemplate) throws ResourceNotFoundException, IOException, MethodInvocationException
{
try {
Velocity.init();
} catch (Exception e) {
e.printStackTrace();
}
//初始化
context = new VelocityContext();
StringWriter wr = new StringWriter();
context.put("list", list);
// String strTemplate = " <div>$siteid</div><br/>" +
// " <div> #foreach( $relist in $list ) $relist #end </div><br/> " +
// " <div> #foreach( $vo in $listVo )($velocityCount). ${vo.name} #end </div> <br/>" +
// " <div>${vo.id}</div><div>${vo.name}</div><br/>";
try {
Velocity.evaluate(context, wr, "mystring", strTemplate);
} catch (ParseErrorException e3) {
e3.printStackTrace();
}
fileWriter.writeFile( wr , realpath , fileName);
{// 优化
try {
if (context != null) {
context = null;
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if (wr != null) {
wr.close();
}
} catch (Exception e1) {
e1.printStackTrace();
}
try {
System.runFinalization();
System.gc();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
/**
* 生成内容文件
*
* @preserve
*/
public static void writeContent(Object obj , String realpath , String fileName , String strTemplate) throws ResourceNotFoundException, IOException, MethodInvocationException
{
try {
Velocity.init();
} catch (Exception e) {
e.printStackTrace();
}
//初始化
context = new VelocityContext();
StringWriter wr = new StringWriter();
context.put("obj", obj);
// String strTemplate = " <div>$siteid</div><br/>" +
// " <div> #foreach( $relist in $list ) $relist #end </div><br/> " +
// " <div> #foreach( $vo in $listVo )($velocityCount). ${vo.name} #end </div> <br/>" +
// " <div>${vo.id}</div><div>${vo.name}</div><br/>";
try {
Velocity.evaluate(context, wr, "mystring", strTemplate);
} catch (ParseErrorException e3) {
e3.printStackTrace();
}
fileWriter.writeFile( wr , realpath , fileName);
{// 优化
try {
if (context != null) {
context = null;
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if (wr != null) {
wr.close();
}
} catch (Exception e1) {
e1.printStackTrace();
}
try {
System.runFinalization();
System.gc();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}