日期:2014-05-19  浏览次数:20733 次

急急急 自定义拦截器出问题了
我的拦截器
package Demo;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

public enum Lanjie implements Interceptor {
  ;

  public void destroy() {
  // TODO Auto-generated method stub
   
  }

  public void init() {
  // TODO Auto-generated method stub
   
  }

  public String intercept(ActionInvocation invocation) throws Exception {
  // TODO Auto-generated method stub
  System.out.println("logge拦截于:"+ new java.util.Date(System.currentTimeMillis())+"kaishi lanjie action");
  String log=invocation.invoke();//获得逻辑视图
  Thread.sleep(3000);
  System.out.println("logge拦截于"+new java.util.Date(System.currentTimeMillis())+"拦截完毕");
  return log;
  }

}
配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<interceptors>
  <interceptor name="Lanjie" class="Demo.Lanjie"/>
  <interceptor-stack name="mystack">
  <interceptor-ref name="Lanjie"/>
  <interceptor-ref name="defaultStack"></interceptor-ref>
  </interceptor-stack>
</interceptors>
<action name="Action" class="Demo.Action" method="execute">
<interceptor-ref name="mystack"/>
<result name="success">/login.jsp</result>
</action>
</package>
</struts>
出的结果是:
2012-9-6 11:42:59 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
信息: Parsing configuration file [struts.xml]
2012-9-6 11:42:59 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
严重: Unable to find parent packages osgi-default
2012-9-6 11:42:59 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2012-9-6 11:42:59 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2012-9-6 11:42:59 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/21 config=null
2012-9-6 11:42:59 org.apache.catalina.startup.Catalina start
信息: Server startup in 2186 ms
*********开始执行Action*********
拦截器没有起作用??????????????????

------解决方案--------------------
因为strut2众多功能都是依靠默认的拦截器实现的 可以说默认拦截器是strut2的核心 你要先调用 默认的

拦截器 准备一些工作 再调用 自定义的拦截器 这样 才能起效果
------解决方案--------------------
Unable to find parent packages osgi-default 这你提示 无法找到osgi-default父包