多个Struts 2配置文件

时间:2012-03-30 18:52:59

标签: java struts2

我有多个XML配置。

struts.xml中

<struts>
  <include file="struts-user.xml" />

  <package name="baseInterceptors" extends="struts-default">
    <interceptor name="...">
       ...
    </interceptor>
       ...
  </package>

  <package name="default" extends="struts-default,baseInterceptors">
    <action name="...">
       ...
    </action >
       ...
  </package>
</struts>

支柱-user.xml

<struts>
  <package name="user" extends="struts-default,baseInterceptors">
    <action name="...">
       ...
    </action >
    ...
  </package>
</struts>

baseInterceptors中没有来自struts-user.xml的拦截器。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

按顺序处理配置文件:在处理<include>baseInterceptors包之前处理default(读取:已定义)。

换句话说,包含的文件取决于尚未定义的pacakges。

package configuration docs在靠近顶部的便条中解释了这一点,旁边有一个感叹号。


不相关,但您重复了一些配置,这会产生误导/无意识:baseInterceptors已经扩展struts-default,因此无需扩展两者。考虑创建像application-default包这样的东西,这样显然应用程序中的所有东西都应该从它扩展。这消除了不必要的重复并传达了您的意图。