struts2校验问题!重复提交错误信息!
来源:互联网 发布:天界进化数据 编辑:程序博客网 时间:2024/06/15 08:32
在struts整合spring的时候,使用struts2校验器validate校验,会出现重复提交错误信息,上次提交的错误信息不会被清除,错误信息累加出现,导致第二次校验失败!
Struts2与Spring整合后, 由spring来管理Struts2的Action, bean默认是单实例有情况下,会有如下问题:
1) Action是单例,其中的FieldError,actionerror中的错误信息 会累加, 即使再次输入了正确的信息,也过不了验证.
2) Struts2的Action是有状态的,他有自己的成员属性, 所以在多线程下,会有问题.
解决此问题:
|-1.使用在Spring配置文件中使用scope="prototype"指定action使用范围!但会多次请求之后会出现大量的action实体!
|-2.在action中校验前:this.clearFieldErrors();这个应该也可以!
|-3.写一个拦截器,给需要验证的action引用上,在每次验证之前清除上次留下的错误信息,解决问题!
--------------------------------------------------------------------------------------------------------------------------------------------------------------
<!-- 配置struts2拦截器 -->
<interceptors>
<interceptor name="validateInterceptor"
class="com.surveypark.util.validateInterceptor" />
<interceptor-stack name="validateStack">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="validateInterceptor" />
</interceptor-stack>
</interceptors>
public class validateInterceptor implements Interceptor {
private static final long serialVersionUID = 1L;
public void destroy() {
}
public void init() {
}
public String intercept(ActionInvocation arg0) throws Exception {
ActionSupport ac=(ActionSupport)arg0.getAction();
ac.clearErrorsAndMessages();
return invocation.invoke();
}
- struts2校验问题!重复提交错误信息!
- 由Spring管理的Struts2 错误信息重复累加和错误后无法再提交问题
- Struts2 token 重复提交问题
- Struts2 防止重复提交问题
- struts2防止重复提交问题
- struts2解决重复提交问题
- struts2表单重复提交问题
- struts2防止重复提交问题
- Struts2 防止重复提交问题
- Struts2 token 重复提交问题
- struts2表单重复提交问题
- 关于Struts2重复提示校验信息问题
- Struts2 表单验证错误信息重复出现的问题
- Struts2 validation 错误信息重复不消失的问题
- struts2中表单重复提交的问题
- struts2防止表单重复提交问题
- Struts2解决重复提交问题(Token)
- Struts2解决表单重复提交的问题
- windows下的oracle 如何生成awr报告
- Kinect for windows 1.0 vs Kinect for windows 2.0
- Set Matrix Zeroes - LeetCode
- 在android上使用valgrind检测内存泄漏
- 创业失败只有一个原因——懒!!!
- struts2校验问题!重复提交错误信息!
- WebKit如何加载网页
- 构造函数中调用虚函数安全吗?
- 黑马程序员_实现带有构造函数的枚举代码简单例子
- 实现当前文件的路径(C++语言)
- 【Leetcode】Search in Rotated Sorted Array
- Java对象内存结构
- 瀑布流网页布局知识
- Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义