2012-04-24 46 views
1

我得在WEB-INF /模板模板/ standardTemplate.xhtmlJSF頁面看不到模板

在我的「網頁」根,我已經得到了其使用的index.xhtml模板通過

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

上述工作正常。

不過,我也有一個使用相同的模板另一頁,但它是一個子文件夾「網頁」 /messageboard/list.xhtml

它使用完全相同的語法/路徑:

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

但它找不到模板並僅顯示list.xhtml的內容(模板的內容都不是)。

面的servlet被映射到 「/面/ *」

我在做什麼錯?嘗試了我能想到的每個變體,但我無法得到正確的語法。

感謝

+0

它應該工作得很好。在瀏覽器中打開違規頁面,右鍵單擊並查看源代碼*。你有沒有看到?或不?你不應該在生成的HTML輸出中看到它。 – BalusC 2012-04-24 21:43:34

+0

啊,好主意。我看到它。有些東西不能正確渲染代碼。我只是檢查了我的命名空間,他們看起來和他們在工作頁面中一樣,所以我希望他們能夠工作。你知道這可能是什麼原因嗎? – Richard 2012-04-24 21:47:24

回答

1

按照該意見,你看到<ui:composition>在HTML輸出未解析。

這隻能表示瀏覽器地址欄中的請求URL與FacesServlet的URL模式不匹配。確保它匹配FacesServlet的網址格式。您已將其映射到/faces/*上,因此該URL應在上下文路徑之後包含/faces路徑前綴。

更好的做法是將FacesServlet直接映射到*.xhtml上,這樣您就不需要擺弄虛擬URL。

+0

不錯。謝謝。這對我來說都是新的,我錯過了這一點。它現在很好,謝謝。偉大的博客順便;) – Richard 2012-04-24 21:49:50

+0

不客氣:) – BalusC 2012-04-24 21:49:59