問題描述:
jsf前端頁面,長期放置未操作之後再觸發乙個ajax請求,頁面毫無反應,且在控制台報錯
問題解析:
由於很久沒處理頁面,當前的session過期之後,導致的viewexpiredexception。
你觸發事件或者ajax請求時,無法觸發頁面跳轉,所以頁面停留在這裡,並且session過期導致在jsf第乙個phase的時候出錯,於是任何操作也不能進行。
一般的,只要:關閉瀏覽器或者清一下session重新開始一次session應該就沒事了。
解決方案:
作為開發,我們能很快的看到console裡的異常,並且知道發生了什麼。對於使用者,就會覺得莫名其妙,所以需要乙個***對此進行攔截,並且跳轉到error介面,提示使用者重新登入。
JSF 中的訊息
訊息可以分為兩種 一種是應用程式錯誤 比如應用程式邏輯錯誤,資料庫錯誤,連線錯誤等等 另一種是使用者輸入錯誤 比如文字框輸入校驗和空值校驗等等 應 用程式錯誤一般會產生乙個新的頁面以便顯示錯誤訊息 而使用者輸入錯誤一般會回顯原來的頁面,然後把錯誤資訊顯示在乙個文字中。通常你需要在不同的頁面丟擲 相同...
Ajax hook攔截所有的Ajax請求
在解決同乙個瀏覽器登入多個賬戶,解決sesson覆蓋問題的時候,我想到的辦法是為每乙個使用者的session定義唯一的key,例如 sessionuser accesstoken.accesstoken是登入校驗成功後,生成的唯一字串,你可以使用uuid策略。這樣,我需要給所有的ajax請求帶上這個...
seam中JSF元件繫結
對話元件有乙個小小的限制 它們不能夠被用來儲存對jsf元件的繫結。除非絕對必要,否則我們通常不喜歡使用jsf的這個特性,因為它建立了從應用程式邏輯到檢視的強依賴關係。在乙個postback請求中,元件繫結會在檢視恢復階段中且在seam對話上下文恢復之前被更新。為了解決這個問題,使用乙個事件範圍的元件...