浏览 4590 次
|
锁定老贴子 主题:用WebWork实现进度条显示
该帖已经被评为精华帖
|
|
|---|---|
| 作者 | 正文 |
|
时间:2004-09-03
WebWork最新发布了WebWork2.1.1,它快速的版本发布,也正说明了正在被热烈的关注中。
这次发布版本中最主要新增功能是展现方面,例如:与Sitemesh的集成(Sitemesh的装饰器可以直接通过WebWork标签库来访问Action 的属性)等。 详细请访问:http://wiki.opensymphony.com//display/OS/2004/08/27/WebWork+2.1.1+Released 下面开始我们的正题: 在最新的WebWork2.1.1中,新增了一个拦截器:execAndWait <interceptor name="execAndWait" class="com.opensymphony.webwork.interceptor.ExecuteAndWaitInterceptor"/> execAndWait将请求的Action放到后台执行,同时返回"wait"的输出结果;再次同样的Action请求,如果Action执行完毕,它将返回 真正的输出结果。 注意:"wait"输出等待页面时必须包含下面语句: <meta http-equiv="refresh" content="5;url="<ww:url includeParams="'all'" />"> 它每隔5秒钟,重新刷新前面的action请求。 Example: // WaitAction.java [code:1] package example.wait; import com.opensymphony.xwork.Action; /** * @author moxie * */ public class WaitAction implements Action{ /* (non-Javadoc) * @see com.opensymphony.xwork.Action#execute() */ public String execute() throws Exception { try { System.out.println("-----start sleep!"); Thread.sleep(2000 * 10); System.out.println("-----end sleep!"); } catch (InterruptedException e) { e.printStackTrace(); } return SUCCESS; } } [/code:1] xwork.xml: [code:1] <action name="wait" class="example.wait.WaitAction"> <result name="success" type="dispatcher"> <param name="location">/success.jsp</param> </result> <result name="wait" type="dispatcher"> <param name="location">/wait.jsp</param> </result> <interceptor-ref name="execAndWait"/> </action> [/code:1] wait.jsp: 引用 <%@ taglib uri="webwork" prefix="ww" %> <HTML> <HEAD> <meta http-equiv="refresh" content="5;url="<ww:url includeParams="'all'" />"> </HEAD> <BODY> Wait.............. </BODY> </HTML> 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |



