我有多个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>struts-user.xml
<struts>
<package name="user" extends="struts-default,baseInterceptors">
<action name="...">
...
</action >
...
</package>
</struts>但是baseInterceptors的拦截器在struts-user.xml中不可用。我该如何解决这个问题?
发布于 2012-03-31 14:19:04
配置文件是按顺序处理的:<include>在处理baseInterceptors和default包之前被处理(read: defined)。
换句话说,所包含的文件依赖于尚未定义的空间。
包配置文档在顶部附近的一个注释中解释了这一点,旁边有一个感叹号。
不相关,但您重复了一些配置,这是误导/无法交流的:baseInterceptors已经扩展了struts-default,因此没有必要同时扩展这两个配置。考虑创建类似于application-default包的东西,因此很明显,应用程序中的所有内容都应该从它扩展。这消除了不必要的重复,并传达了你的意图。
https://stackoverflow.com/questions/9948858
复制相似问题