默认拦截器配置节选:
<!-- 声明包的默认截拦器栈 -->
……
action配置:
<!-- 通用Action配置 -->
<action name="Login" class="Action.USER.LoginAction" method="login"></action>
<action name="GetSessionInfo" class="Action.Util.GetSessionInfoAction"
method="GetSessionInfo"></action>
<action name="ShowPhoto" class="Action.Util.ImageAction"
method="GetImagebyId"></action>
<!-- 行政区划补全接口 -->
<action name="RegionAutoComp" class="Action.Util.GetRegionInfoAction"
method="AutoComplete"></action>
<action name="GetGrassBType" class="Action.Util.GetGrassType"
method="GetGrass_B_Type"></action>
……
各类具体的实现方法流程都大致相同
结果调用Login.action没有进入拦截器代码,而调用GetSessionInfo则能进入拦截器代码,而且进入拦截器的顺序也不一样,有的在执行完action后直接拦截器,有的首先执行拦截器再执行Action,这可能是什么原因导致的?
package中action在添加fileUpload的拦截器的时候会在之前下面的代码:
给出的解释是配置fileUpload的拦截器会使默认的拦截器失效,
所以在配置package的默认拦截器的时候如果还写defaultStack就会使package的默认拦截器失效
所以defaultStack就应该改写为package的默认拦截器......
答案就在这里:struts2 中package的默认拦截器不能拦截某些action的原因
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
看不到你的默认拦截器配置,建议再坚持下拦截器配置信息看看,
一篇详细介绍struts2拦截器的使用的文章,仅供参考:http://www.blogjava.net/zzzlyr/archive/2009/10/12/297998.html