例子: 
package com.weihua.common.util; 
 import org.apache.velocity.tools.view.tools.*; import javax.servlet.http.HttpServletRequest; import org.apache.velocity.tools.view.context.ViewContext; import javax.servlet.http.*; import org.apache.velocity.context.*; import javax.servlet.ServletContext; import org.apache.velocity.VelocityContext; 
public class MyVelocityTool implements ViewTool { 
 protected HttpServletRequest request;  protected HttpServletResponse response;  protected ServletContext context;  protected VelocityContext velocity; 
 /*   * Initialize toolbox   * @see org.apache.velocity.tools.view.tools.ViewTool#init(java.lang.Object)   */  public void init(Object arg0) {   if(arg0 instanceof ViewContext){    ViewContext viewContext = (ViewContext) arg0;    request = viewContext.getRequest();    response = viewContext.getResponse();    context = viewContext.getServletContext();    velocity = (VelocityContext)viewContext.getVelocityContext();   }   else if(arg0 instanceof ServletContext){    context = (ServletContext)arg0;   }  } 
 /**   * 取得当前的vm所在的路径   * @return String   */  public String current_template(){   return velocity.getCurrentTemplateName();  }    public String getVelocityName()  {      return "velocity!hello";  } } 
toolbox.xml中配置 
<tool>   <key>dlog</key>   <scope>request</scope>   <class>com.weihua.common.util.MyVelocityTool</class>  </tool> 
有时会没有用,在velocity.properties中加 
file.resource.loader.cache=false; 
再多刷新几次就有用了。   |