Velocity Quick Start [2] - 從模板生成

源文件

package nc.jonathan.velocity;

import java.io.StringWriter;

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;


/**
 *<p> 第二個velocity學習類 </p>
 *
 *<p> 採用默認初始化設置,解析默認位置模版, 輸出到字符串</p>
 *
 * Create on 2006-4-3 10:49:41
 *
 * @author Jonathan Q. Bo
 * @version 1.0 valocity study
 */

public class SecondExample {
 public static void main(String[] args){
  try {
   /* 初始化運行時引擎, 默認初始化 */
   Velocity.init();
   
   /* 建立context, 並放入數據*/
   VelocityContext context = new VelocityContext();
   context.put("project","jonathan's velocity");
   context.put("name","first example");
   
   /* 解析後數據的輸出目標,java.io.Writer的子類 */
   StringWriter w = new StringWriter();
   
   /* 進行解析 */
   //Velocity.mergeTemplate("secondtemplate.vm",context,w);
   Velocity.mergeTemplate("secondtemplate.vm","gb2312",context,w);
   
   System.out.println(w);
  } catch (ResourceNotFoundException e1) {
   System.out.println("## 源文件不存在!");
   e1.printStackTrace();
  } catch (ParseErrorException e2) {
   System.out.println("## 解析文件錯誤!");
   e2.printStackTrace();
  } catch (MethodInvocationException e3) {
   System.out.println("## 方法調用異常!");
   e3.printStackTrace();
  } catch (Exception e4){
   System.out.println("## 其他錯誤!");
   e4.printStackTrace();
  }
 }
}

模板文件

We are using template.vm to generate $project $name

輸出結果
We are using template.vm to generate jonathan's velocity first example
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章