解决struts2验证信息重复的问题

strut2结合spring框架来使用,action是单例模式的,错误消息不会清除,所以每次请求之后上次的错误消息就会累加的出现。
要解决此问题,可以在spring的配置文件中设置action的范围scope="prototype",但是这也存在潜在的问题,多次请求后 会生成大量action实体,并且他们不能被spring管理到。

public class ValidatorErrorInterceptor extends AbstractInterceptor {
private static Logger log=Logger.getLogger(ValidatorErrorInterceptor.class);
public String intercept(ActionInvocation actioninvocation) throws Exception {
ActionSupport action= (ActionSupport) actioninvocation.getAction();
action.clearErrorsAndMessages();
log.info("remove validation errors!");
return actioninvocation.invoke();
}
}
 


这里我写了一个拦截器,给需要验证的Action引用上,在每次验证之前都会先被执行,用其清空上次留下来的错误信息。
问题解决。

你可能感兴趣的:(spring,框架,prototype,配置管理)