生成html(3)



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();
			}
		}

	}
	
}

你可能感兴趣的:(apache,html,velocity)