`

struts2.0拦截器token的使用导致数据无法绑定

阅读更多

之前在用struts2.0做表单提交时,为了防止重复提交,使用了自带的token拦截器。拦截器的配置很简单,但是,不知道为什么,使用拦截器后,原本和struts绑定的bean无法完成数据的绑定,实在让人郁闷。 
原来的配置如下: 

Xml代码   收藏代码
  1. < action   name = "user_save"   class = "userAction"   method = "save" >   
  2.     < result   name = "list" > /WEB-INF/pages/user/userList.jsp </ result >   
  3.     < result   name = "input" > /login.jsp </ result >   
  4.     < interceptor-ref   name = "token" />   
  5.     < result   name = "invalid.token" > /index.jsp </ result >   
  6. </ action >   


后来,发现需要再加上一个默认的拦截器 

Xml代码   收藏代码
  1. < interceptor-ref   name = "defaultStack" /  

> 
否则可能会出现参数无法绑定到action的属性上,同样当<s:token></s:token>下载form标签的外部也不会实现参数绑至action

加上的效果: 

Java代码   收藏代码
  1. <action name= "user_save"   class = "userAction"  method= "save" >  
  2.     <result name="list" >/WEB-INF/pages/user/userList.jsp</result>  
  3.     <result name="input" >/login.jsp</result>  
  4.     <interceptor-ref name="token" />  
  5.     [u]<interceptor-ref name="defaultStack" />[/u]  
  6.     <result name="invalid.token" >/index.jsp</result>  
  7. </action> 

 

分享到:
评论

相关推荐

    Struts2.0中文教程

    这个“Struts2.0中文教程”涵盖了该框架的核心概念、配置、动作、拦截器、结果类型以及整合其他技术等方面,旨在帮助中文学习者深入理解和熟练运用Struts2.0。 1. **Struts2框架基础** - **MVC模式**:理解MVC架构...

    struts2.0的总结

    2. **核心配置文件 struts.xml**:这是 Struts2 的核心配置文件,用于定义 Action 映射、拦截器、结果类型等。 ```xml &lt;struts&gt; &lt;package name="default" extends="struts-default"&gt; &lt;result name="success"&gt;/...

    J2EE企业级项目开发-3期(KC007) 8.3 Struts之拦截器使用技巧考试.doc

    在Struts2中,拦截器扮演着至关重要的角色,它们是基于AOP(面向切面编程)概念的,允许开发者在Action执行前后插入自定义逻辑,从而极大地提高了代码的可维护性和可扩展性。 1. 拦截器是在Action执行之前和Action...

    struts2内置拦截器简介

    Struts2的内置拦截器主要包括以下几类:用于异常处理、参数绑定、会话管理、调试等功能。每个拦截器都有特定的作用,可以根据需求选择合适的拦截器组合使用。 #### 2. 常用内置拦截器详解 ##### 2.1 Exception 此...

    struts令牌token实例

    1. **配置Struts2的Token拦截器:** 在struts.xml配置文件中,需要将`token`拦截器加入到默认或者特定的Action配置中。例如: ```xml &lt;interceptor name="token" class="org.apache.struts2.interceptor....

    struts-default中拦截器介绍.pdf

    Struts 2 框架中的拦截器是其核心组件之一,主要负责在Action执行前后进行额外的操作,如参数绑定、验证、权限控制等。在`struts-default`配置中,许多默认的拦截器组合成预设的拦截器栈,为开发者提供了便捷的功能...

    Struts2防止重复提交解决方案

    1. **配置拦截器**:在你的Struts2配置文件(通常是`struts.xml`或`struts-default.xml`)中,添加`token`拦截器到拦截器栈中。例如: ```xml &lt;interceptor-ref name="token"&gt; ...

    Struts2Day2

    在多用户并发环境下,为了避免同一表单被多次提交导致数据异常,Struts2提供了Token插件。它在客户端存储一个令牌,并在服务器端验证,如果发现重复提交,将阻止处理请求。 5. **Action方法调用**: `Struts2Day2_...

    15年9月传智播客视频struts2

    - **内置拦截器**:Struts2提供了一系列内置拦截器,如`params`(参数填充)、`token`(防止重复提交)、`servletConfig`(获取Servlet配置信息)等。 - **自定义拦截器**:可以通过实现`Interceptor`接口或继承`...

    extjs实现权限拦截

    6. **Struts拦截器** 在Struts中,拦截器用于在Action执行前或后执行额外的操作,如权限检查。我们可以自定义拦截器,检查请求中的权限信息,如果用户没有足够的权限,就阻止Action的执行并返回错误信息。 7. **...

    Struts2的总结和Strut2集成Spring

    拦截器是Struts2的核心机制之一,它可以在请求处理的各个阶段进行拦截,执行额外的逻辑,如权限检查、数据验证等。 #### 拦截器实现原理 拦截器的实现基于AOP(面向切面编程)的思想,通过定义拦截器栈,可以灵活...

    StrutsInterceptor.rar

    StrutsInterceptor.rar是一个压缩包,其中包含了关于Struts框架中拦截器(Interceptor)使用的实例和相关资源。Struts是Java Web开发中一个流行的MVC框架,拦截器是它的一个核心特性,用于在Action调用前后执行...

    struts2 经典学习小例子

    Struts2可以通过拦截器或者自定义Action来实现这一机制,例如检查并移除旧的session,或者使用特定的session属性来跟踪已登录用户。 4. **Token机制防止刷新(Token mechanism to prevent refreshing)**: 在表单...

    深入浅出Struts2(附源码)

    15.3 使用Token Session拦截器 256 15.4 小结 257 第16章调试与性能分析 258 16.1 debug标签 258 16.2 Debugging拦截器 259 16.3 性能分析 261 16.4 小结 262 第17章进度条 263 17.1 Execute and Wait拦截器...

    Struts面试题

    3. **扩展与继承**:大多数自定义包都会继承`struts-default`包,以便能够使用这些内置的拦截器和其他特性。 #### 六、Struts2默认拦截器 Struts2内置了许多常用的拦截器,包括但不限于: - **Exception**:用于...

    struts1的相关代码

    重复提交可能导致数据不一致问题。Struts1可以通过两种方式解决:一是使用令牌(Token)机制,用户在提交表单时,服务器会生成一个唯一的令牌并存入session,同时将令牌放入隐藏字段。当表单提交时,服务器检查令牌...

    研磨Struts2

    - **配置文件(struts.xml)**:定义了应用程序的行为,包括Action映射、拦截器配置等。 - **结果(Result)**:定义了Action执行完毕后的结果,如重定向、转发等。 - **值栈(ValueStack)**:用来存储Action、...

    struts的架包分享

    3. **拦截器(Interceptor)**:拦截器是Struts 2中实现AOP(面向切面编程)的重要机制,可以对Action执行前后进行增强,如日志记录、权限验证等。 4. **模型驱动(ModelDriven)**:模型驱动模式允许将Action与业务...

Global site tag (gtag.js) - Google Analytics