2013-03-18 83 views
0

我定義了一個歡迎頁面,在web.xmlJSF設置歡迎頁面

<welcome-file-list> 
    <welcome-file>templates/Template.jsf</welcome-file> 
    </welcome-file-list> 

遵循和項目的上下文根是TestProject。第一次當我加載項目的URL是localhost:8080/TestProject。我在主頁上有一個名爲「HOME」的按鈕,點擊它應該從任何其他頁面重定向到主頁。現在問題是點擊這個按鈕,它重定向,但url變成localhost:8080/TestProject/templates/Template.jsf。如何克服這一點?

的按鈕的HTML代碼是follws

首頁

回答

1

它看起來像你誤會的<welcome-file>意義。它並不代表主頁的URL。它代表文件的唯一文件名(不包括任何物理文件夾!但允許一個虛擬後綴映射模式,如果您使用該文件,如/faces/*),該文件應該由容器提供,如//foo/,或者/bar/baz/等容器會再檢查該文件夾包含指定的歡迎文件,然後將請求轉發給它,否則顯示404

我強烈建議保持簡單:

<welcome-file>index.jsf</welcome-file> 

並且在根文件夾中具有index.xhtml,並且如果必要還有其他文件夾。然後,要打開沒有指定文件名的上下文根,只需使用

<a href="#{request.contextPath}/">Home</a>