在struts2中我们使用ExecuteAndWaitInterceptor拦截器实现显示等待页面,execAndWait拦截器能够让一个执行时间较长的action在后台执行,并向用户显示进度信息。当action的执行时间会超过5或10分钟时,它可以防止HTTP请求超时。
execAndWait拦截器参数:
1、threadPriority:可选,指定线程的优先级,默认:Thread.NORM_PRIORITY
2、delay:可选,指定显示等待页面前初始的等待延迟时间,以毫秒为单位。默认没有等待延迟。
3、delaySleepInterval:可选,只能和delay参数一起使用,指定检查后台进程是否执行完毕的时间间隔,以毫秒为单位,默认为100毫秒。
配置:
<action name="register" class="com.zhaosoft.action.RegisterAction"> <!-- 配置异常映射,当RegisterAction抛出Exception异常时,向用户显示error.jsp页面 --> <exception-mapping result="error" exception="java.lang.Exception"/> <result name="input">/WEB-INF/pages/register.jsp</result> <result name="success">/WEB-INF/pages/success.jsp</result> <result name="error">/WEB-INF/pages/error.jsp</result> <result name="wait">/WEB-INF/pages/wait.jsp</result> <interceptor-ref name="execAndWait"> <param name="excludeMethods">default</param> <!-- <param name="delay">2000</param>--> </interceptor-ref> </action>