2011-11-19 23 views
2

我試圖導航到具有webcontent文件夾下的子目錄並接收java.io.FileNotFoundException的管理頁面。使用Glassfish 3.1.1。使用隱式導航訪問子目錄時獲取java.io.FileNotFoundException

war File: 
     index.xhtml 
     login.xhtml 
     /admin/admin.xhtml 

我使用的鏈接是:

 <h:link value="Admin" outcome="admin/admin.xhtml"/> 

我希望隱含naviagtion將能夠處理呢?

由於提前,

斯科特

回答

4

<h:link>看起來完全正常,雖然我只是剪掉.xhtml擴展,以儘量減少樣板和FacesServlet的映射含糊其JSF已經需要爲你照顧。

您需要請閱讀您得到的FileNotFoundException的消息。我的分錢,它實際上指向的admin/admin.xhtml中使用的模板文件。您希望在那裏指定絕對路徑,即以/開頭,以便相對於Web內容的根目錄解析該路徑,否則將相對於當前模板客戶端的位置進行解析。

E.g.因此這樣:

<ui:composition template="WEB-INF/admintemplate.xhtml"> 

這將搜索/admin/WEB-INF/admintemplate.xhtml,而是這樣:

<ui:composition template="/WEB-INF/admintemplate.xhtml"> 

注意,這是不相關的隱式導航。直接打開頁面時,您會遇到完全相同的問題。

+0

很棒的工作謝謝你! – ScottM

+0

不客氣。 – BalusC