在引入了webwork-default.xml的前提下
xwork.xml 配置 :
1、增加拦截器
<interceptor-ref name="execAndWait">
<!-- 等待时间,执行时间没有超过此值,将不显示等待画面 (毫秒)-->
<param name="delay">1000</param>
<!-- 间隔检查时间,检查后台进程有没有执行完毕,如果完成了它就立刻返回,不用等到等待,用户不会看到等待画面 -->
<param name="delaySleepInterval">50</param>
</interceptor-ref>
此拦截器必须放在所有拦截器的最后。
2、增加result
<result name="wait">wait.jsp</result>
如果没有找到"wait"结果,WebWork会自动生成一个wait结果(\com\opensymphony\webwork\interceptor\wait.ftl).这个结果是用FreeMarker做的,所以需要Freemarker支持才能正常工作。如果你不想在程序中加入FreeMarker,那就必须自己实现一个wait结果。这一般来说是有必要的,因为默认的wait页面很简单。
3、Action实现SessionAware接口
因为这个action将会以单独的线程执行,所以你不能用ActionContext,因为它是ThreadLocal.这也就是说如果你要访问session数据,你必须实现 SessionAware结构而不是调用ActionContext.getSesion() 。
public interface SessionAware{
public void setSession(Map map);
}
public abstract class AbsBasicAction extends ActionSupport implements SessionAware{
/** 当前 Session */
protected Map session ;
public void setSession(Map session) {
this.session = session ;
}
}
4、实现 wait 结果 映射的 wait.jsp
必须设置该页面的meta信息,每隔5秒,重新请求一次前面的action。
<meta http-equiv="refresh" content="5;url="<ww:url includeParams="'all'" />">
分享到:
相关推荐
### Struts2 拦截器 Interceptor #### 一、概述 在Struts2框架中,拦截器(Interceptor)是一种非常重要的机制,它能够帮助开发者实现诸如权限控制、事务管理、日志记录等跨切关注点的功能。通过定义不同的拦截器...
3. **无需显式事务控制**:当使用`EXECUTE IMMEDIATE`执行SQL语句时,通常不需要显式的事务控制,因为这些操作默认是在当前事务的上下文中执行的。然而,如果需要手动控制事务边界,如在批处理操作中,显式的提交或...
本文将深入探讨在Execute SQL Task中如何使用参数和变量,基于给定的标题和描述。 1. **参数与变量的区别** - **参数**:在SQL语句中,参数通常用于传递值给存储过程或者动态SQL。它们是预定义的占位符,在执行时...
8. **Execute and Wait Interceptor** - 在后台执行Action,并显示等待页面。 9. **Exception Interceptor** - 异常处理,将异常定向到特定页面。 10. **File Upload Interceptor** - 支持文件上传功能。 11. **I18n...
execute immediate 用法研究 Execute Immediate 是 Oracle 中的一个功能强大且灵活的语句,它可以解析并马上执行动态的 SQL 语句或非...但是,也需要注意使用技巧和限制,以确保正确和高效地使用 Execute Immediate。
在Interceptor.zip中,可能包含了一个或多个自定义的拦截器实现,以及如何在SSM项目中配置和使用这些拦截器的示例。这可能涉及到web.xml、struts.xml、spring-servlet.xml或mybatis-config.xml等配置文件的修改,...
以上代码展示了如何使用`Connection`对象的`execute`方法执行SQL查询,并通过`Recordset`对象处理查询结果的基本流程。这种方法适用于多种基于ADO的数据库应用程序开发,特别是在使用Microsoft Jet数据库引擎时非常...
- **Execute and Wait Interceptor**:在后台执行Action的同时,引导用户到一个中间等待页面。 - **Exception Interceptor**:将异常映射到指定的视图页面。 - **File Upload Interceptor**:提供文件上传功能。 - *...
0539_极智开发_解读cmake中EXECUTE_PROCESS的使用方式
精品技术类ppt模板execute_exe005
- **SOAP Web服务**:使用SOAP协议,可以创建一个ASP.NET Web服务,该服务包含Server.Execute的逻辑。WinForm应用通过添加服务引用并与之交互来调用这些服务。 - **RESTful API**:更现代的方法是使用基于HTTP的...
然而,在使用`pyinstaller`将Python脚本打包成exe文件后,可能会遇到“Failed to execute script pyi_rth_certifi”这样的错误。本文将详细解释这个问题的原因,并提供解决此问题的方法。 首先,`pyinstaller`在...
bool bSuccess = FPlatformProcess::ExecuteAndWait(ExePath, TEXT(""), nullptr, &ProcessHandle); if (bSuccess) { UE_LOG(LogTemp, Warning, TEXT("External program executed successfully.")); } else { UE_...
【Android-ExecuteShell开源库详解】 ExecuteShell是一个专为Android开发者设计的开源库,它使得在Android应用程序中执行shell命令变得轻而易举。在Android系统中,有时我们需要执行一些低级的操作,如文件管理、...
在SQL Server中,执行动态SQL或存储过程时,开发人员通常面临选择使用`EXEC`还是`sp_executesql`的问题。这两种方法虽然都能达到目的,但在功能、性能及安全性等方面存在显著差异。本文将详细介绍这两者的区别,并...
could not execute:bad executable format(win32 error 193) 下了一个实现MD5的代码,编译时没有错误,但是执行的时候却提示:could not execute:bad executable format(win32 error 193)
在IT行业中,我们经常遇到各种错误,"failed to execute script"是其中之一,尤其在尝试运行Python脚本时。这个问题通常发生在使用Python的`py`或`exe`可执行文件时,尤其是在试图通过命令行传递参数时。让我们深入...
- **Execute and Wait Interceptor**:在后台执行Action并显示等待页面。 - **Exception Interceptor**:捕获并处理异常,将其导向特定页面。 - **File Upload Interceptor**:支持文件上传功能。 - **I18n ...
使用EXECUTE IMMEDIATE的一个关键优势是它可以处理复杂的逻辑。例如,假设我们需要根据用户输入创建不同的查询: ```sql DECLARE sql_query VARCHAR2(200); BEGIN sql_query := 'SELECT * FROM employees WHERE ...
《Python库py-execute-0.1.1的探索与应用》 在Python的世界里,丰富的第三方库是其强大功能的重要支撑。今天我们要探讨的是一个名为`py-execute`的库,版本为0.1.1,它以`.tar.gz`格式打包提供。这个库的出现,旨在...