|
我在某些頁面中,有某幾個(gè)按鈕,分別用來跳轉(zhuǎn)到action.do?method=m 但是,我是用
warpLoaction("url");這個(gè)來鏈接過去的,結(jié)果,我在火狐瀏覽器中,可以正確的
獲取上次訪問的頁面,在IE6下卻獲取不到。后來去網(wǎng)上百度了一下,看到了一哥門的評
說, request.getHeader("Referer")要走HTTP協(xié)議才有值,也就是說要通過<a href="url" />
標(biāo)記,才能獲取到值。當(dāng)然通過表單提交的也可以。而通過location或是<a href="Javascript:window.location=''" />是得不到值的,當(dāng)時(shí)就馬上一行動(dòng)。果然是那個(gè)原因。嘿嘿。
另一個(gè):亂碼問題,如果request.getHeader("Referer")鏈接中帶有中文參數(shù),那么在經(jīng)過跳轉(zhuǎn)的時(shí)候,就會出現(xiàn)亂碼,這個(gè)時(shí)候需要用到String keyWords = new String(str.getBytes("ISO-8859-1"),"GBK");來進(jìn)行編碼轉(zhuǎn)換!可是如果不是通過request.getHeader("Referer")鏈接鏈過來的也用keyWords = new String(str.getBytes("ISO-8859-1"),"GBK");來進(jìn)行編碼轉(zhuǎn)換的話,就會出現(xiàn)亂碼,我在這里分享一下我是怎么解決的,首先,我用str.matches( "[//u4E00-//u9FA5]+")來判斷這個(gè)字符串中是否有中文,如果沒有中文,則為亂碼或者數(shù)字或者英文或者其他符號,那么我們則進(jìn)行編碼轉(zhuǎn)換,如果是中文,則不進(jìn)行編碼轉(zhuǎn)換!
jsp技術(shù):關(guān)于request.getHeader(&quot;Referer&quot;)的問題探討,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。