`
wjt276
  • 浏览: 650370 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Struts2中自定义拦截器导致Action注入参数丢失

阅读更多

做一个登录验证的页面,对集成admin的所有package进行保护。

        <interceptors>
    <interceptor name="adminLoginInterceptor"
     class="interceptor.AdminLoginInterceptor" >
                    <param name="pass0">6B8E49836C0C29251833227E3B0F7FB7F8DC67CE</param>
                </interceptor>
   </interceptors>
        <default-interceptor-ref name="adminLoginInterceptor" />

然而发现所有带有传递参数的均无法正常使用了,在Action中所有的参数无法被注入。

最后发现,struts-default中,默认的拦截器引用是defaultstack,这个拦截器包传说是经过精心设计的。。所以会把所有的参数注入!。。。

因此要更改默认拦截器,需要加上这个defaultstack

    <package name="admin" extends="struts-default" >
        <interceptors>
    <interceptor name="adminLoginInterceptor"
     class="interceptor.AdminLoginInterceptor" >
                    <param name="pass0">6B8E49836C0C29251833227E3B0F7FB7F8DC67CE</param>
                </interceptor>
        <interceptor-stack name="adminstack">
                   <interceptor-ref name="adminLoginInterceptor"></interceptor-ref>
                   <interceptor-ref name="defaultStack"></interceptor-ref>
        </interceptor-stack>

   </interceptors>

        <default-interceptor-ref name="adminstack" />
        <global-results>
            <result name="login">/admin/login.jsp</result>
        </global-results>
    </package>
        <default-interceptor-ref name="adminstack" />
        <global-results>
            <result name="login">/admin/login.jsp</result>
        </global-results>
    </package>

特别注意红色两行的顺序!先自定义再Default

分享到:
评论

相关推荐

    struts2的自定义拦截器例子

    在这个"struts2的自定义拦截器例子"中,我们将深入探讨如何创建和使用自定义拦截器。 首先,拦截器的本质是Java的面向切面编程(AOP)思想在Struts2中的体现。它们允许开发者在动作执行前后插入自定义的逻辑,例如...

    JSP 开发之Struts2内建自定义拦截器.docx

    4. **在Action中应用拦截器**:最后,你需要在Action配置中指定要使用的拦截器。默认情况下,所有Action都会应用名为`defaultStack`的默认拦截器栈。如果你需要添加自定义拦截器,可以显式地引用它们。 ```xml ...

    Struts2_自定义拦截器_用户权限验证

    本项目“Struts2_自定义拦截器_用户权限验证”将深入探讨如何在Eclipse开发环境中,利用Struts2框架自定义拦截器进行用户权限的验证,并处理各个Action之间的跳转。 首先,我们来看自定义拦截器的创建。在Struts2中...

    Struts2_自定义拦截器

    Struts2_3500_my_interceptor这个文件可能包含了一个示例项目的源代码,你可以通过学习和分析其中的代码,更深入地理解如何在Struts2中创建和使用自定义拦截器。通过实际操作,你会发现自定义拦截器是Struts2框架中...

    struts2自定义拦截器配置心得

    Struts2自定义拦截器的配置是Struts2框架中一个非常重要的功能,它允许开发者在Action执行前后插入自定义的逻辑,以实现如权限验证、日志记录、性能监控等多种需求。以下是对标题和描述中涉及的知识点的详细说明: ...

    struts2 自定义拦截器.rar

    自定义拦截器是Struts2框架中一个非常重要的特性,允许开发者扩展和定制框架的行为,以满足特定的业务需求。这篇博客文章可能是关于如何在Struts2中创建和使用自定义拦截器的教程。 在Struts2中,拦截器是基于责任...

    struts2的一个自定义拦截器小例子

    本示例将聚焦于如何在Struts2中实现一个自定义拦截器。 首先,我们需要了解拦截器在Struts2中的作用。拦截器是AOP(面向切面编程)的一个核心概念,它允许开发者在动作执行前后插入额外的逻辑,如日志记录、权限...

    struts2自定义拦截器

    虽然“表单上传”在给定的描述中与自定义拦截器直接关联不大,但在Struts2中,我们通常会结合`struts2-convention-plugin` 或者 `struts2-dojo-plugin` 来处理文件上传。`struts.multipart.parser` 属性可以配置...

    Struts2自定义拦截器

    拦截器是Struts2的核心特性之一,它们在Action调用之前和之后执行,扮演着类似于过滤器的角色,允许我们实现诸如日志记录、权限检查、事务管理等通用功能。在深入探讨自定义拦截器之前,我们先理解一下Struts2拦截器...

    struts2的自定义拦截器代码

    2. **配置拦截器**:在Struts2的配置文件(通常为struts.xml)中注册自定义拦截器,并指定其在拦截器栈中的位置。例如: ```xml &lt;struts&gt; &lt;package name="default" namespace="/" extends="struts-default"&gt; ...

    自定义拦截器struts2源代码

    本篇将深入讲解如何在Struts2中自定义拦截器,并通过提供的源代码进行分析。 拦截器是Struts2框架的核心组件之一,它允许我们在请求到达Action之前或离开Action之后执行一些额外的操作,如日志记录、权限验证、性能...

    struts2的自定义拦截器代码例子

    总结起来,自定义拦截器是Struts2中的一种强大工具,它使得我们可以插入额外的业务逻辑或增强功能,而无需修改Action的代码。通过理解和熟练使用自定义拦截器,开发者可以更好地控制和优化应用的流程,提高代码的可...

    struts2自定义拦截器.pdf

    自定义拦截器是Struts2框架中扩展功能的重要手段,让我们深入探讨如何在Struts2中实现自定义拦截器。 首先,创建一个Web项目是基础步骤,这可以通过IDE如Eclipse或IntelliJ IDEA来完成。确保你的项目包含了Struts2...

    Struts2--自定义拦截器

    自定义拦截器是Struts2中的一个重要特性,允许我们扩展框架的功能,以实现诸如日志记录、权限检查、性能监控等通用任务。在本文中,我们将深入探讨如何创建和使用自定义拦截器。 首先,了解拦截器的基本概念。在...

    自定义拦截器的实现以及拦截器的详细配置

    本篇文章将深入探讨如何实现自定义拦截器及其在Struts2中的详细配置。 首先,我们来了解自定义拦截器的基本步骤: 1. **创建拦截器类**:自定义拦截器需要继承Struts2提供的`Interceptor`接口或实现`intercept()`...

    Struts2自定义拦截器实现防止重复提交

    在Struts2的配置文件(通常是struts.xml)中,你需要将自定义的拦截器添加到拦截器栈中,指定其执行顺序和其他拦截器的配合。例如: ```xml &lt;!-- 其他拦截器 --&gt; &lt;!-- ... --&gt; ``` 6. **前端...

    struts2 用拦截器 实现用户权限登录

    2. **配置拦截器**:然后,在Struts2的配置文件(通常为`struts.xml`或`struts-default.xml`)中注册这个拦截器。 ```xml &lt;!-- 其他拦截器配置 --&gt; &lt;default-interceptor-ref name="defaultStack"/&gt; &lt;!-- 引入...

Global site tag (gtag.js) - Google Analytics