2013-02-14 27 views
0

我正在嘗試在Spring項目中使用Apache Tiles(版本3)。據我所見,所有的瓷磚文件都應放置在WEB-INF目錄下的某個位置。我不知道這一點,這只是我的觀察:當我設置war/WEB-INF/tiles/*.jsp它的確定,當我設置war/tiles/*.jsp(和改變我的瓷磚 - defs.xml指向新目錄),我得到apache瓷磚源目錄 - 它必須是WEB-INF嗎?

org.apache.tiles.request.render.CannotRenderException: ServletException including path '/tiles/basic.jsp'. 

所有教程我在網上發現瓷磚目錄在WEB-INF\之下。有人可以明確瓷磚目錄是否必須在WEB-INF下(或者如果其他jsp文件也必須在那裏)?

回答

2

不需要它在WEB-INF中,但它實際上是推薦的方法,而且這絕對不是Tiles特定的,這是一個通用的JSP/Java EE建議。 (由於安全原因,WEB-INF文件夾不能直接訪問)

例如, here is這裏是一個樣例,其中jsps是我們的外部WEB-INF。

+0

感謝您對WEB-INF目錄的重要提示。無論如何,我仍然無法解釋爲什麼瓷磚無法渲染頁面,如果它不一定在WEB-INF中...... – ducin 2013-02-14 07:58:14

+0

是的,這是另一個問題:)你可以發佈你的配置文件嗎? (web.xml,tiles-defs.xml) – abalogh 2013-02-14 08:14:55

+0

好的,我解決了另一個問題。它只是缺少.jar文件。我認爲包括儘可能少的jar文件是一個好主意(不要讓.war變得沉重),但是它會花費太多的時間來修復缺少的包含。體驗規則;)。無論如何謝謝你的寶貴答案! – ducin 2013-02-14 08:21:00