struts2的execAndWait拦截器使用
来源:互联网 发布:网络会计兼职 编辑:程序博客网 时间:2024/05/16 14:06
使用execAndWait拦截器可以在等待较长时间的后台处理中增加等待页面。实现如下图所示的效果:
1)struts.xml主要部分
<action name="test" class="actions.ActionDemo" method="queryall"> <interceptor-ref name="defaultStack"/> <interceptor-ref name="execAndWait"> <!-- 等待时间,执行时间没有超过此值,将不显示等待画面 (毫秒)--> <param name="delay">1000</param> <!-- 间隔检查时间,检查后台进程有没有执行完毕,如果完成了它就立刻返回,不用等到等待,用户不会看到等待画面 --> <param name="delaySleepInterval">50</param> </interceptor-ref> <result name="wait">/wait.jsp</result> <result name="success">/rs.jsp</result>
</action>
2)action主要部分
public String queryall(){ for (int i = 0; i < 500000; i++) { System.out.println(i); } user = "你好"; this.setListData(); return Action.SUCCESS;}
3)jsp页面取值部分(rs.jsp)
List list = (List)request.getAttribute("listall"); 取值OK
4)等待页面部分(wait.jsp)
<%@ page contentType="text/html; charset=GBK" language="java" errorPage=""%><%@ taglib uri="/struts-tags" prefix="s"%><!DOCTYPE HTML><html> <head> <meta http-equiv=Content-Type content="text/html;charset=gbk"> <META HTTP-EQUIV="Refresh" content="2;url=<s:url includeParams="all"/>"/> <title> 正在查询,请稍等...</title><style type="text/css">.query_hint{ border:5px solid #939393; width:250px; height:50px; line-height:55px; padding:0 20px; position:absolute; left:50%; margin-left:-140px; top:50%; margin-top:-40px; font-size:15px; color:#333; font-weight:bold; text-align:center; background-color:#f9f9f9;}.query_hint img{position:relative;top:10px;left:-8px;}</style> </head> <body> <div id="query_hint" class="query_hint"> <img src="http://files.cnblogs.com/ningvsban/waiting.gif" />正在查询,请稍<s:url includeParams="all"/>等... </div> <!-- <a href="<s:url includeParams="all" />"> 点这里 </a> 如果没有自动跳转请点击这里. --> </body></html>
关于<meta http-equiv="refresh" content="0;url= "/>的几点说明:
1)该句话用于页面定期刷新,如果加url的,则会重新定向到指定的网页,content后面跟的是时间(单位秒),把这句话加到指定网页的<head></head>里一般也用在实时性很强的应用中,需要定期刷新的页面,如新闻页面,论坛等,不过一般不会用这个,都用新的技术比如ajax等。
2)对于wait.jsp中的<meta http-equiv="refresh" content="2;url=<s:url includeParams="all"/> "/>意思为:每隔2秒自动刷新定位到目标页面。
3)对于<s:url includeParams="all"/>为struts2的标签<s:url>,详细请点击这里。
参考资料:http://blog.csdn.net/yirentianran/article/details/3392314
0 0
- struts2的execAndWait拦截器使用
- Struts2 execAndWait拦截器的使用
- Struts2的execAndWait拦截器使用
- struts2的execAndWait拦截器使用
- struts2的execAndWait拦截器使用
- Struts2中execAndWait拦截器的使用
- struts2的execAndWait拦截器使用
- struts2 - execAndWait(拦截器实例)
- execAndWait拦截器
- struts2配置execAndWait报错的解决办法..
- 使用execAndWait拦截器模拟进度条 之 19.2.1 模拟长时间
- Struts2拦截器的使用
- Struts2拦截器的使用
- struts2拦截器的使用
- Struts2拦截器的使用
- Struts2拦截器的使用
- Struts2的拦截器使用
- struts2拦截器的使用
- 认识REST
- js的insertRow(-1)和insertCell(-1)
- 模糊查询嵌套问题
- 1037. Magic Coupon
- 计算机是如何启动的?
- struts2的execAndWait拦截器使用
- 中国7大套利模式深度解析:套利是金融机构的核心职能
- ORA-01795:列表中的最大表达式数为1000采用分页方式的解决方法
- Material Design 中文版(持续更新)
- Python 类的魔力特性之一:property
- InputDispatcher: MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
- Hql语句之uniqueResult()-hql只返回一个结果
- CURL使用示例之数据采集
- wxPython之ImportError: DLL load failed: %1 is not a valid Win32 application.