Struts 2 execAndWait 拦截器示例

17 Mar 2025 | 阅读 2 分钟

execAndWait 拦截器,也称为执行并等待拦截器,用于显示中间结果。

建议用于长时间运行的操作。

默认情况下,它在默认堆栈中找不到。因此,您需要显式指定它。

如果您没有指定 "wait" 结果,则 struts 框架会显示一个中间结果,直到您的请求完成。

对于自定义中间结果,您需要在 struts.xml 文件中定义 "wait" 结果。在您的页面中,您可以显示处理图像等。因此,最好指定自定义结果。

execAndWait 拦截器的参数

为 execAndWait 拦截器定义了 3 个参数。

参数描述
delay指定初始延迟时间。默认情况下,不设置初始延迟。
delaySleepInterval仅与延迟一起使用。它以毫秒为单位指定检查后台进程是否完成的时间间隔。默认设置为 100 毫秒。
threadPriority指定线程的优先级。默认值为 Thread.NORM_PRIORITY。

execAndWait 拦截器在没有等待结果的示例

让我们看一下没有等待结果的 execAndWait 拦截器的简单示例。在这种情况下,struts 框架提供一个中间结果。

execAndWait 拦截器在有等待结果的示例

让我们看一下带有等待结果的 execAndWait 拦截器的简单示例。在这种情况下,您的中间页面将被调用。


myintermediatepage.jsp

让我们编写中间结果的代码。s:url 标签会将请求转发到指定的 url。

它将每 0.5 秒刷新一次。

输出

struts 2 execandwait example output 1 struts 2 execandwait example output 2 struts 2 execandwait example output 3 struts 2 execandwait example output 4