一個(gè)用戶登陸時(shí)有時(shí)需要選擇登陸目標(biāo),有時(shí)候不需要選擇的解決
Posted on 2006-01-14 08:52 JavaXP 閱讀(645) 評(píng)論(0) 編輯 收藏 所屬分類: 實(shí)戰(zhàn)經(jīng)驗(yàn) 前幾天寫了一篇,<AJAX我也寫>其中提到了一個(gè)問題就是,在系統(tǒng)中需要讓用戶選擇登陸目標(biāo),但又不是所有的用戶都需要選擇,只有特定角色的用戶需要選擇。
我的解決方案是登錄后根據(jù)身份的不同跳出一個(gè)網(wǎng)頁(yè)對(duì)話框讓用戶選擇,如果不是特定身份的用戶就不會(huì)跳出。
但是存在的問題就是因?yàn)橄到y(tǒng)是構(gòu)建在struts之上的,所以會(huì)牽扯一個(gè)跳轉(zhuǎn)的問題,大家都知道struts跳轉(zhuǎn)如果錯(cuò)誤以后或者跳轉(zhuǎn)返回為null以后不會(huì)報(bào)錯(cuò)但是會(huì)轉(zhuǎn)向一個(gè)空白頁(yè)面,這個(gè)空白頁(yè)面現(xiàn)在到成了客戶推翻這個(gè)設(shè)計(jì)最大的理由。
總計(jì)一下,隆重推出第三個(gè)解決方案:我在登錄時(shí)的用戶名和密碼輸入框中放入一個(gè)事件,當(dāng)兩個(gè)框中都有值時(shí)用prototype.js提供的AJAX功能將接到的用戶名和密碼傳入一個(gè)ACTION中開始找這個(gè)用戶是否時(shí)那個(gè)特定用戶,如果是,在應(yīng)答里面扔上下拉選擇框的源代碼,如果不是就不理,為了防止用戶填完密碼用戶名以后直接去點(diǎn)擊登錄,修改登錄按鍵的屬性讓它也觸發(fā)事件也去差一次數(shù)據(jù)庫(kù),保證用戶必須去做驗(yàn)證。
由于項(xiàng)目太緊了,在這里就不給出代碼實(shí)例了!
我的解決方案是登錄后根據(jù)身份的不同跳出一個(gè)網(wǎng)頁(yè)對(duì)話框讓用戶選擇,如果不是特定身份的用戶就不會(huì)跳出。
但是存在的問題就是因?yàn)橄到y(tǒng)是構(gòu)建在struts之上的,所以會(huì)牽扯一個(gè)跳轉(zhuǎn)的問題,大家都知道struts跳轉(zhuǎn)如果錯(cuò)誤以后或者跳轉(zhuǎn)返回為null以后不會(huì)報(bào)錯(cuò)但是會(huì)轉(zhuǎn)向一個(gè)空白頁(yè)面,這個(gè)空白頁(yè)面現(xiàn)在到成了客戶推翻這個(gè)設(shè)計(jì)最大的理由。
總計(jì)一下,隆重推出第三個(gè)解決方案:我在登錄時(shí)的用戶名和密碼輸入框中放入一個(gè)事件,當(dāng)兩個(gè)框中都有值時(shí)用prototype.js提供的AJAX功能將接到的用戶名和密碼傳入一個(gè)ACTION中開始找這個(gè)用戶是否時(shí)那個(gè)特定用戶,如果是,在應(yīng)答里面扔上下拉選擇框的源代碼,如果不是就不理,為了防止用戶填完密碼用戶名以后直接去點(diǎn)擊登錄,修改登錄按鍵的屬性讓它也觸發(fā)事件也去差一次數(shù)據(jù)庫(kù),保證用戶必須去做驗(yàn)證。
由于項(xiàng)目太緊了,在這里就不給出代碼實(shí)例了!