之前在用struts2.0做表单提交时,为了防止重复提交,使用了自带的token拦截器。拦截器的配置很简单,但是,不知道为什么,使用拦截器后,原本和struts绑定的bean无法完成数据的绑定,每次回action取bean中的内容均为null,实在让人郁闷。
原来的配置如下:
<action name="user_save" class="userAction" method="save">
<result name="list">/WEB-INF/pages/user/userList.jsp</result>
<result name="input">/login.jsp</result>
<interceptor-ref name="token"/>
<result name="invalid.token">/index.jsp</result>
</action>
后来,发现需要再加上一个默认的拦截器
<interceptor-ref name="defaultStack"/
>
否则可能出错
加上的效果:
<action name="user_save" class="userAction" method="save">
<result name="list">/WEB-INF/pages/user/userList.jsp</result>
<result name="input">/login.jsp</result>
<interceptor-ref name="token"/>
[u]<interceptor-ref name="defaultStack"/>[/u]
<result name="invalid.token">/index.jsp</result>
</action>
重新启动 问题解决了 哈哈
希望对你们有帮助
分享到:
相关推荐
Struts2.0内置了多种拦截器,同时支持自定义拦截器,使得开发者可以根据应用需求定制不同的执行流程。 八、在Struts2.0中实现IoC 依赖注入(IoC)是现代软件架构的重要组成部分,Struts2.0通过其内部的IoC容器,...
这个“Struts2.0中文教程”涵盖了该框架的核心概念、配置、动作、拦截器、结果类型以及整合其他技术等方面,旨在帮助中文学习者深入理解和熟练运用Struts2.0。 1. **Struts2框架基础** - **MVC模式**:理解MVC架构...
2. **核心配置文件 struts.xml**:这是 Struts2 的核心配置文件,用于定义 Action 映射、拦截器、结果类型等。 ```xml <struts> <package name="default" extends="struts-default"> <result name="success">/...
在Struts2中,拦截器扮演着至关重要的角色,它们是基于AOP(面向切面编程)概念的,允许开发者在Action执行前后插入自定义逻辑,从而极大地提高了代码的可维护性和可扩展性。 1. 拦截器是在Action执行之前和Action...
Struts2的内置拦截器主要包括以下几类:用于异常处理、参数绑定、会话管理、调试等功能。每个拦截器都有特定的作用,可以根据需求选择合适的拦截器组合使用。 #### 2. 常用内置拦截器详解 ##### 2.1 Exception 此...
1. **配置Struts2的Token拦截器:** 在struts.xml配置文件中,需要将`token`拦截器加入到默认或者特定的Action配置中。例如: ```xml <interceptor name="token" class="org.apache.struts2.interceptor....
Struts 2 框架中的拦截器是其核心组件之一,主要负责在Action执行前后进行额外的操作,如参数绑定、验证、权限控制等。在`struts-default`配置中,许多默认的拦截器组合成预设的拦截器栈,为开发者提供了便捷的功能...
1. **配置拦截器**:在你的Struts2配置文件(通常是`struts.xml`或`struts-default.xml`)中,添加`token`拦截器到拦截器栈中。例如: ```xml <interceptor-ref name="token"> ...
在多用户并发环境下,为了避免同一表单被多次提交导致数据异常,Struts2提供了Token插件。它在客户端存储一个令牌,并在服务器端验证,如果发现重复提交,将阻止处理请求。 5. **Action方法调用**: `Struts2Day2_...
- **内置拦截器**:Struts2提供了一系列内置拦截器,如`params`(参数填充)、`token`(防止重复提交)、`servletConfig`(获取Servlet配置信息)等。 - **自定义拦截器**:可以通过实现`Interceptor`接口或继承`...
6. **Struts拦截器** 在Struts中,拦截器用于在Action执行前或后执行额外的操作,如权限检查。我们可以自定义拦截器,检查请求中的权限信息,如果用户没有足够的权限,就阻止Action的执行并返回错误信息。 7. **...
拦截器是Struts2的核心机制之一,它可以在请求处理的各个阶段进行拦截,执行额外的逻辑,如权限检查、数据验证等。 #### 拦截器实现原理 拦截器的实现基于AOP(面向切面编程)的思想,通过定义拦截器栈,可以灵活...
StrutsInterceptor.rar是一个压缩包,其中包含了关于Struts框架中拦截器(Interceptor)使用的实例和相关资源。Struts是Java Web开发中一个流行的MVC框架,拦截器是它的一个核心特性,用于在Action调用前后执行...
Struts2可以通过拦截器或者自定义Action来实现这一机制,例如检查并移除旧的session,或者使用特定的session属性来跟踪已登录用户。 4. **Token机制防止刷新(Token mechanism to prevent refreshing)**: 在表单...
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拦截器...
重复提交可能导致数据不一致问题。Struts1可以通过两种方式解决:一是使用令牌(Token)机制,用户在提交表单时,服务器会生成一个唯一的令牌并存入session,同时将令牌放入隐藏字段。当表单提交时,服务器检查令牌...
3. **扩展与继承**:大多数自定义包都会继承`struts-default`包,以便能够使用这些内置的拦截器和其他特性。 #### 六、Struts2默认拦截器 Struts2内置了许多常用的拦截器,包括但不限于: - **Exception**:用于...
- **配置文件(struts.xml)**:定义了应用程序的行为,包括Action映射、拦截器配置等。 - **结果(Result)**:定义了Action执行完毕后的结果,如重定向、转发等。 - **值栈(ValueStack)**:用来存储Action、...
3. **拦截器(Interceptor)**:拦截器是Struts 2中实现AOP(面向切面编程)的重要机制,可以对Action执行前后进行增强,如日志记录、权限验证等。 4. **模型驱动(ModelDriven)**:模型驱动模式允许将Action与业务...