2011-09-08 45 views
3

JSF 1.2-1.2_07-B03-FCS使用純JSF獲得調用頁面

JSTL 1_1-MR2(特殊版本)

的Java 1.6.0_22-B04

的Eclipse 3.6.0(太陽神)

的Tomcat 6.0.28(需要也運行EJB)

IE 7.0.5730.13

火狐6.0

我們有頁: HTTP:// {主機:端口} /mybase/faces/mypage.jsp ...

它是從通過超級鏈接多個外部網頁調用的,重定向等。

我們想要以純粹的「JSF」方式確定調用它的頁面的URL(爲了實現一個命令按鈕「後退」按鈕)。

我們知道我們可以做到這一點:

​​

然而,這需要HttpServletRequest的要求,包括該servlet-api.jar文件的文件。

問題:這是否可以以純JSF方式完成,因此,不包括servlet-api.jar文件?

感謝, 約翰

回答

5

然而,這需要HttpServletRequest的要求,包括該servlet-api.jar文件文件

這是沒有意義的。自己的JSF已經有一個Servlet API依賴。也許你指的是IDE中的編譯錯誤,因爲該項目根本不與目標運行時相關聯?在這種情況下,請仔細閱讀以下內容:How do I import the javax.servlet API in my Eclipse project?

至於具體問題,只需使用ExternalContext#getRequestHeaderMap()來獲取請求標頭的映射。

String referrer = externalContext.getRequestHeaderMap().get("referer"); 
// ... 
+0

是的,它的工作原理。去了很多錯誤的路徑,但錯過了getRequestHeaderMap()。謝謝。約翰 –

+0

不客氣。爲API文檔添加書籤。他們來得非常方便。 – BalusC

+0

哎唷! - 點了。實際上,我確實花了更多的時間在API上,而不是我也承認 - 只是尋找錯誤的東西。許多互聯網搜索,但沒有找到像你的解決方案一樣乾淨。 John –