用execAndWait 拦截器,action中就无法用ServletActionContext来获得request对象。 网上有说把这个拦截器放到拦截器栈的最后还是不好用?
有谁可以指定一个可以实现等待功能的思路。弄了2天了?

解决方案 »

  1.   

     <script>setTimeout("location.href='url'",5000)</script>  
    在等待页 加上这个 5秒后自动跳转!url 为跳转相应的Action 或JSP !不知道是不是Lz想要的!!
      

  2.   

    execAndWait这个拦截器是做什么用呀。
      

  3.   

    像二楼说的。进个等待页面。然后跳action,关键是action中处理慢啊。想在action处理的时候出一个等待提示框之类的。
      

  4.   


    public abstract class BaseAction extends ActionSupport implements SessionAware {    private static final long serialVersionUID = 7143307744656824738L;
        protected Map<String, Object> session;
        protected ServletContext servletContext;
        protected HttpServletRequest request;
        
        public BaseAction(){
            servletContext = ServletActionContext.getServletContext();
            request = ServletActionContext.getRequest();
        }
        
        @Override
        public void setSession(Map<String, Object> session) {
            this.session = session;
            
        }
        
    }
    可以这样用,action继承BaseAction,其他action使用request直接使用
      

  5.   

    上面的一种好像不能用request.getParameter还有一种,也好像不能反正我是试过request.getParameterValues,得到的为空package com.renci.movies.action;import java.util.Map;import javax.servlet.ServletContext;import org.apache.struts2.ServletActionContext;
    import org.apache.struts2.interceptor.RequestAware;
    import org.apache.struts2.interceptor.SessionAware;import com.opensymphony.xwork2.ActionSupport;public abstract class BaseAction extends ActionSupport implements SessionAware, RequestAware{    private static final long serialVersionUID = 7143307744656824738L;
        protected Map<String, Object> session;
        protected Map<String, Object> request;
        
        protected ServletContext servletContext;
        
        public BaseAction(){
            servletContext = ServletActionContext.getServletContext();
        }
        
        @Override
        public void setSession(Map<String, Object> session) {
            this.session = session;
        }
        
        @Override
        public void setRequest(Map<String, Object> request) {
            this.request = request;
        }
    }