1 String lastUrl = request.getHeader("Referer");
不好意思,下面的說錯了(所以都標紅了),不過的確這個方法在有框架的時候性能還不清楚,貌似是:
在多個框架中,IE的情況是:如果將在frame觸發的鏈接顯示在frame2中,frame2的Referer就不會改變。firefox的情況是,會變,所以firefox處理的更好。
請有識之士教導。
使用到方法來獲得上一次路徑的請注意了,如果頁面涉及到框架frame的話,請留意firefox與IE的不同。
假如頁面具有整個頁面,上,左,右三個frame四個所謂的windows,假設每一個frame都有自己地址欄,當然真實的地址欄只有整個頁面的一個。
我出現的情況是:
1)firefox中:一個右frame的jsp頁面進入的struts的action,在這個action使用這個函數,能夠獲得右frame地址欄原來的字符串。在右frame頁面里使用這個函數,也能夠獲得右frame原來的地址欄的字符串。 算是比較正常吧,獲得所謂的referer的字符串嘛。
2)IE中:一個右frame的jsp頁面進入的一個action,使用這個函數,獲得的是整個頁面的地址欄原來的字符串。在右frame頁面里使用這個函數,卻獲得的是右frame地址欄原來的字符串。 這樣就不正常啦,我在action里使用獲得的竟然是整個頁面的地址欄原來的字符串,那樣我new ActionForward(這個url)的時候,就會出現框架嵌套框架啦。
這些問題應該是跟瀏覽器的實現有關。
我用這個函數主要是想實現返回上一步的功能。但是上一步的路徑獲得那么可預測,這種方法獲得之前頁面看來是不能信賴地用的。