如何使用struts 2中不同包中定义的拦截器?

ipk*_*iss 7 struts2 interceptor interceptorstack

我已经定义了一个拦截器如下:

<package name="default" extends="struts-default" >
  <interceptors>
       <interceptor-stack name="myStack">
          <interceptor-ref name="timer"/>
          <interceptor-ref name="logger"/>
        <interceptor-ref name="defaultStack"/>
       </interceptor-stack>
  </interceptors>

 <default-interceptor-ref name="myStack"/>

</package>
Run Code Online (Sandbox Code Playgroud)

然后在另一个命名空间中使用myStack:

<package name="posts" namespace="/posts" extends="struts-default,json-default">

        <action  name="question/ask" class="someclass.QuestionAction">
            <interceptor-ref name="myStack"></interceptor-ref>
            <result name="success">/WEB-INF/jsp/post_question.jsp</result>
            <result name="input">/WEB-INF/jsp/post_question.jsp</result>
        </action>

    </package>
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为在包帖中,它找不到名为myStack的拦截器堆栈.我怎么解决这个问题?

Qua*_*ion 8

让"post"扩展"default"可以解决问题.