wml

          Execute and Wait Interceptor 的使用

          在引入了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'" />">


          參見信息 : http://wiki.javascud.org/display/ww2cndoc/Execute+and+Wait+Interceptor

          posted on 2006-07-28 14:05 wml 閱讀(580) 評論(0)  編輯  收藏 所屬分類: WebWork


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 莱西市| 龙江县| 阳曲县| 德昌县| 抚远县| 遵义县| 阿尔山市| 从江县| 轮台县| 务川| 和硕县| 泾源县| 哈巴河县| 香河县| 嘉善县| 隆尧县| 永定县| 鄂伦春自治旗| 米泉市| 射洪县| 长沙市| 光泽县| 偃师市| 响水县| 陇西县| 金坛市| 察雅县| 新野县| 新平| 乳山市| 渭南市| 津南区| 宜黄县| 临武县| 克拉玛依市| 饶阳县| 阿拉善盟| 方城县| 东阿县| 建始县| 咸宁市|