2011-01-24 140 views
1

我想为异常拦截器配置一个参数来记录异常。 所以我在struts.xml中创建了一个包,并从struts-default.xml复制了默认堆栈。 但它不记录异常,似乎仍然使用defaultStack。struts2默认拦截器堆栈配置

这里是我的struts.xml:

<struts> 
    <package name="default" extends="struts-default"> 
     <interceptors> 
     <interceptor-stack name="myStack"> 
      <interceptor-ref name="exception"> 
       <param name="logEnabled"> true </param> 
       <param name="logCategory"> struts </param> 
       <param name="logLevel"> ERROR </param> 
      </interceptor-ref> 
      ... 
     </interceptor-stack> 
     </interceptors> 

     <default-interceptor-ref name="myStack" /> 
    </package> 
</struts> 
+1

请将所有xml至少放置4个空格,然后显示出来。 – Quaternion 2011-01-24 05:50:02

回答

1

这应该可以正常工作,所有你添加是在同一个包,即,“默认”包延伸支柱,默认情况下,新的行动。

AFAIK可能只有一种可能性,因为它可能会出错,那将是: 您已将您的操作写入不同的程序包(该程序再次扩展了struts-default而不是“default”) - 自定义程序包),因此,它会使用defaultStack作为缺省拦截器栈,这是struts-default的默认栈。

因此,如果您希望默认堆栈被myStack覆盖,请确保您的操作位于您的自定义软件包 - “default”或内部的扩展您的自定义软件包“default”而不是struts的软件包内 - 默认包。