攔截器配置報錯

image.png

image.png

struts.xml配置如下

  <package name="news" extends="json-default" namespace="/news">
    <interceptors>
        <interceptor name="adminLogin" class="com.zzy.interceptor.AdminInterceptor"></interceptor>
        <interceptor-stack name="loginStack">
            <interceptor-ref name="defaultStack"/>
            <interceptor-ref name="adminLogin"/>            
        </interceptor-stack>
    </interceptors>
    <action name="*" class="com.zzy.action.NewsAction" method="{1}">
        <result name="go_addN">/WEB-INF/NewsPage/addNews.jsp</result>
        <result name="go_listN">/WEB-INF/NewsPage/listNews.jsp</result>
        <result name="addnews" type="json">    <!-- 添加 -->
                <param name="root">message</param>
        </result>
        <result name="pageJson" type="json">    <!-- 獲取分頁 -->
            <param name="root">pageJson</param>
        </result>
        <result name="go_update">/WEB-INF/NewsPage/updateNews.jsp</result>      <!-- 更新跳轉(zhuǎn) -->
        <result type="json" name="update_success">      <!-- 更新新聞 -->
            <param name="root">message</param>
        </result>
        <result type="json" name="delNews"> <!-- 刪除新聞 -->
            <param name="root">status</param>
        </result>
    <!-- 對應(yīng)方法 -->
    <interceptor-ref name="adminLogin"/>
    <interceptor-ref name="defaultStack"/>
    <allowed-methods>addNews,listNews,goUpdate,updateNews,delNews,go_addN,go_listN</allowed-methods>
    </action>
  </package>  
  
  <package name="category" extends="json-default"  namespace="/category">
    <action name="*" class="com.zzy.action.NewsAction" method="{1}">
        <result name="go_addC">/WEB-INF/CategoryPage/addCategory.jsp</result>
        <result name="go_listC">/WEB-INF/CategoryPage/listCategory.jsp</result>
        <result name="addCategory" type="json"><!-- 添加類型 -->
            <param name="root">message</param>
        </result>
        <result name="listCategory" type="json"><!-- 獲取所有 -->
            <param name="root">pageJson</param>
        </result>
        <result name="go_update">/WEB-INF/CategoryPage/updateCategory.jsp</result><!-- 更新跳轉(zhuǎn) -->
        <result type="json" name="update_success"><!-- 更新操作 -->
            <param name="root">message</param>
        </result>
        <result type="json" name="delCategory"><!-- 刪除分類 -->
            <param name="root">status</param>
        </result>
        <interceptor-ref name="adminLogin"/>
    <interceptor-ref name="defaultStack"/>//*******報錯提示代碼行*******
        <allowed-methods>addCategory,listCategory,goUpdateC,updateCategory,delCategory,go_addC,go_listC</allowed-methods>
    </action>
  </package>
最后發(fā)現(xiàn)是因為:

name="defaultStack"的攔截器只在<package name="news"包里面定義,<package name="category"包沒有.

解決方法:

將攔截器獨立放在一個package里,其他action的package繼承這個包

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 概述 Struts就是基于mvc模式的框架!(struts其實也是servlet封裝,提高開發(fā)效率!) Strut...
    奮斗的老王閱讀 2,994評論 0 51
  • 本文包括: 1、Struts 2 概述2、Struts 2 快速入門3、Struts 2 的執(zhí)行流程4、配置 st...
    廖少少閱讀 3,005評論 3 13
  • action中如何接受頁面?zhèn)鬟^來的參數(shù) 第一種情況:(同名參數(shù)) 例如:通過頁面要把id=1 name=tom a...
    清楓_小天閱讀 3,012評論 1 22
  • Struts2的核心在于它復(fù)雜的攔截器,幾乎70%的工作都是由攔截器完成的。比如我們之前用于將上傳的文件對應(yīng)于ac...
    Single_YAM閱讀 577評論 0 6
  • 攔截器是Struts2框架的核心,它主要完成解析請求參數(shù)、將請求參數(shù)賦值給Action屬性、執(zhí)行數(shù)據(jù)校驗、文件上傳...
    重山楊閱讀 4,005評論 2 13