解決struts2使用攔截器後參數無效問題

來源:互聯網
上載者:User

     今天做項目時,使用攔截器對使用者權限檢查。攔截器本身沒有問題,可是實現許可權攔截,但是傳遞的參數全部都無效了。搞了很久,由於對攔截器的內部機制不是特別熟悉,所以重新研讀了一下Struts2的攔截器。找到了原因:給一個Acton配置一個自訂攔截器後,此action就無法使用架構預設的攔截器棧了,這就導致前後台資料轉送無效。

           解決方案一般有兩種:

           一、顯示的使用預設攔截器

<action name="enterSystem_*" class="enterSystemManager" method="{1}">                  <!-- 使用攔截器:進行許可權檢查 -->                  <interceptor-ref name="defaultStack" />                  <interceptor-ref name="autority" />                  <result name="workerMangerUI">/WEB-INF/page/backstage/system/workerManager.jsp</result>                  <result name="positionMangerUI">/WEB-INF/page/backstage/system/positionManager.jsp</result>   </action>

 

          二、使用<interceptor-ref name="params" />讓參數先傳遞

 <action name="enterSystem_*" class="enterSystemManager" method="{1}">               <!-- 使用攔截器:進行許可權檢查 -->               <interceptor-ref name="params" />               <interceptor-ref name="autority" />               <result name="workerMangerUI">/WEB-INF/page/backstage/system/workerManager.jsp</result>               <result name="positionMangerUI">/WEB-INF/page/backstage/system/positionManager.jsp</result>  </action>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.