(mywes)


他们彼此深信,是瞬间迸发的热情让他们相遇。这样的确定是美丽的,但变幻无常更为美丽

留言簿

公告

最新日志

最新评论

搜索

登陆

友情连接

统计

2006/8/3 11:34:00
velocity直接调用公共类中的方法问题解决

例子:

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;

再多刷新几次就有用了。

发表评论:

    昵称:
    密码:
    主页:
    标题: