2012-02-10 7 views
2

訪問試圖把內部WEB-INF文件夾中的portlet JSP和遇到錯誤路徑/WEB-INF/jsp/newportlet/view.jsp是不是此portlet

Path /WEB-INF/jsp/newportlet/view.jsp is not accessible by this portlet 

爲什麼會出現這個錯誤?是否有可能允許portlet訪問WEB-INF?除了將它們放入WEB-INF之外,是否可以直接從Web瀏覽器關閉訪問Portlet JSP?

更新1

我剛剛通過嚮導創建一個新的portlet。沒有編寫代碼,只是JSP位置集。該位置適用於嚮導,因爲它將JSP放在那裏。該位置是體現在portlet.xml<portlet>標籤的下面的子標籤:

<init-param> 
    <name>view-jsp</name> 
    <value>/WEB-INF/jsp/newportlet/view.jsp</value> 
</init-param> 

類的代碼是空的:

public class NewPortlet extends MVCPortlet { 
} 
+0

您可以顯示代碼如何訪問jsp? – szhem 2012-02-10 18:54:48

+0

你檢查過這個文件夾(newportlet)有讀權限嗎? – alfasin 2012-02-10 19:09:38

+0

@alfasin我在eclipse下運行Liferay,所以權利應該一直都是一樣的。如果該向導能夠創建文件,則可以訪問它們。 – Dims 2012-02-10 19:14:12

回答

4

this話題

我假設你不使用MVCPortlet(默認情況下,您不能包含來自WEB-INF目錄的文件)。

也看看MVCPortlet.checkJSPPath(String)方法的源代碼。我相信你可以覆蓋它,所以它不會拋出異常。

+0

覆蓋幫助,雖然我不喜歡這個解決方案。它應該是一些推薦的。 – Dims 2012-02-10 20:07:42

相關問題