我有一個默認的包W /攔截器配置,我延伸的包放入一個又一個,並呼籲同攔截使用在Struts2擴展攔截器不起作用W /動作參數
<action name="availability**">
<param name="subTab">availability</param>
<interceptor-ref name="tabStack"/>
<result>/WEB-INF/jsp/index.jsp?include=visibilit/availability.jsp</result>
</action>
的問題在於我的攔截器代碼裏面沒有讀取參數:
Map params = invocation.getInvocationContext().getParameters();
subTab = params.get("subTab").toString(); //NULL exception
任何想法如何將參數傳遞給擴展攔截器?
謝謝!
謝謝託德。我的代碼工作正常,並提取靜態參數。我的問題是,我將tabstack放置在我的堆棧def中的defaultstack之前,並且struts沒有填充params地圖。乾杯 – Ricardo 2010-06-19 10:35:34
是的,staticParams攔截器默認將靜態參數添加到請求的參數映射。但是,如果您使用此方法訪問參數,則應該意識到用戶可以通過在URL末尾添加「?subTab = xyzzy」來覆蓋它們。請求參數優先於靜態參數,除非在「staticParams」攔截器上設置了「覆蓋」。 – 2010-06-21 05:06:52