使用execAndWait拦截器可以在等待较长时间的后台处理中增加等待页面。
1、在struts.xml
<action name="register" class="com.abc"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="execAndWait"> <param name="excludeMethods">input</param> <!-- 等待时间,执行时间没有超过此值,将不显示等待画面 (毫秒) <param name="delay">1000</param>--> <!-- 间隔检查时间,检查后台进程有没有执行完毕,如果完成了它就立刻返回,不用等到等待,用户不会看到等待画面 <param name="delaySleepInterval">50</param>--> </interceptor-ref> </action> @Override public String execute() throws Exception { while(process<total){ process++; Thread.sleep(900); System.out.println(process); } return SUCCESS; } |
2、增加result
<result name="wait">wait.jsp</result> |
3、
<%@page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="s"uri="/struts-tags"%> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta http-equiv="refresh" content="1;url=<s:url includeParams="none" />"/> <title> </title> </head> <body> <h1>数据处理中,请稍等......</h1> process:${process } total:${total } <br> 如果没有自动跳转请<a href="<s:url includeParams="all" />">点这里</a>. 其中的includeParams参数取值为:<br> none,不把参数加入到url参数中<br> all,是把get和post中的参数加入到url参数中<br> get,是只把get中的参数加入到url参数中 </body> </html> |
4、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 ; } } |
分享到:
相关推荐
Struts2拦截器(Interceptor) Struts2拦截器(Interceptor)
解决Struts2中的中文乱码。该代码是用作Struts2的拦截器中
Struts2的拦截器的使用详解实例 博文链接:https://zmx.iteye.com/blog/457434
该例子为struts2注解与拦截器demo,利用myEclipse8.5开发,导入刚才后,自动加载所需struts2的jar包,可以直接运行,是初学struts2注解、拦截器很好的例子,保证10分钟学会2种技术,愿意分享给大家。
struts2常用拦截器,struts2经常用到的拦截器,熟悉熟悉
使用Struts2实现用户权限拦截、重点是掌握拦截器的使用和配置方法,通过案例的学习,就能掌握struts中拦截器的使用方法,让我们能快速上手
详细说明了struts2中拦截器的使用。并且通过一个小例子讲解了拦截器的具体使用
struts2拦截器的使用说明文档,配置说明文档。可以看一下
NULL 博文链接:https://cmexico.iteye.com/blog/621208
struts2 Interceptor拦截器 http://whitewolf.0fees.net
Struts2在com.opensymphony.xwork2.interceptor.annotations包中定义了3个拦截器注解类型。
struts2 用拦截器 实现用户权限登录 可以直接运行,只单单用到struts的东西。
关于struts2 拦截器的详细的解释及其在开发中对struts2的拦截器的应用和拦截器在框架中的作用.
Struts2拦截器.ppt Struts2拦截器.ppt Struts2拦截器.ppt
综合使用servlet filter与struts2 interceptor对权限进行验证。
Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序 Struts2拦截器源程序
struts2,Interceptor struts2拦截器实例,两套实例,一套是针对单个的action配置的,另一套实例是针对全局的action配置的拦截器interceptor
struts2拦截器应用小例子,与大家共分享
Struts2拦截器实现权限控制demo,我感觉对初学者还是有一定帮助的
基于struts2的拦截器测试,实现了页面的跳转,中间过程的拦截