拋棄定時刷新,使用DWR技術實現頁面無刷新效果的進度條

2.4 新建一個jsp頁面

2.4.1 導入js

拋棄定時刷新,使用DWR技術實現頁面無刷新效果的進度條

jsp文件中必須引入幾個js,它們都是隱含存在的,不用考慮它們在哪兒,其中engine.js和util.js是固定的,另外的一個js的名稱就是dwr.xml中配置的類名。

2.4.2 畫出jsp頁面

拋棄定時刷新,使用DWR技術實現頁面無刷新效果的進度條

拋棄定時刷新,使用DWR技術實現頁面無刷新效果的進度條

MessagePush.onPageLoad();//綁定用戶ID MessagePush類中的方法,後面步驟會提到。

Test.getFromPage(userId,"getProgressBar");//模擬前臺調用後臺調用後臺方法 該業務方法裡調用進度條方法實現進度條。

2.5 新建一個ScriptSessionListener類實現ScriptSessionListener接口

ScriptSessionListener用來監聽ScriptSession的創建及銷燬事件,ScriptSession第一次訪問會創建一個ScriptSession。刷新後又會創建一個新的ScriptSession,HttpSession第一次訪問會創建一個新的HttpSession,之後再訪問的時候,就會保持當前的Session,即使是刷新,也能保持當前的HttpSession。

由於上面的問題,我們就需要自己管理ScriptSession。其實,有效地HttpSession,就是那個和當前的HttpSession匹配的ScriptSession。所以,我們就可以自己維護一個Map,在這個Map裡面,我們定義key就是HttpSession的Id,其值就是ScriptSession對象。

在每一次頁面載入的時候,都去註冊此ScriptSession,那麼就會把新的ScriptSession綁定到httpSession上面了。

2.6 新建一個類繼承 DefaultScriptSessionManager,用來綁定 DWRScriptSessionListener,並在web.xml中將 DWRScriptSessionManager 配置在 dwr-invoker servlet中。

拋棄定時刷新,使用DWR技術實現頁面無刷新效果的進度條

2.7 下面完成消息推送類,MessagePush

拋棄定時刷新,使用DWR技術實現頁面無刷新效果的進度條

拋棄定時刷新,使用DWR技術實現頁面無刷新效果的進度條

2.8 下面完成testAction類,模擬調用進度條的類

拋棄定時刷新,使用DWR技術實現頁面無刷新效果的進度條

2.9效果圖如下

拋棄定時刷新,使用DWR技術實現頁面無刷新效果的進度條


分享到:


相關文章: