拦截器配置报错

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>      <!-- 更新跳转 -->
        <result type="json" name="update_success">      <!-- 更新新闻 -->
            <param name="root">message</param>
        </result>
        <result type="json" name="delNews"> <!-- 删除新闻 -->
            <param name="root">status</param>
        </result>
    <!-- 对应方法 -->
    <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><!-- 更新跳转 -->
        <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>
最后发现是因为:

name="defaultStack"的拦截器只在<package name="news"包里面定义,<package name="category"包没有.

解决方法:

将拦截器独立放在一个package里,其他action的package继承这个包

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 Struts就是基于mvc模式的框架!(struts其实也是servlet封装,提高开发效率!) Strut...
    奋斗的老王阅读 8,184评论 0 51
  • 本文包括: 1、Struts 2 概述2、Struts 2 快速入门3、Struts 2 的执行流程4、配置 st...
    廖少少阅读 8,181评论 3 13
  • action中如何接受页面传过来的参数 第一种情况:(同名参数) 例如:通过页面要把id=1 name=tom a...
    清枫_小天阅读 8,371评论 1 22
  • Struts2的核心在于它复杂的拦截器,几乎70%的工作都是由拦截器完成的。比如我们之前用于将上传的文件对应于ac...
    Single_YAM阅读 3,641评论 0 6
  • 拦截器是Struts2框架的核心,它主要完成解析请求参数、将请求参数赋值给Action属性、执行数据校验、文件上传...
    重山杨阅读 9,417评论 2 13

友情链接更多精彩内容