2011-06-24 78 views
2

我的問題是關於Liferay鉤子和portlet 6.0的。包括來自鉤子的Liferay portal jsps

我有jsps overiding liferay portlet的hook。例如document_library/view.jsp - 測試 - 正常工作。 (我有自定義jsp-dir設置等)

現在我想在這個鉤子中創建我的portlet,它在最後呈現鉤子的document_library/view.jsp。

,但我得到的錯誤:

org.apache.jasper.JasperException: /WEB-INF/html/portlet/document_library/view.jsp(17,1) File "/html/portlet/document_library/init.jsp" not found 

我沒有創建init.jsp - 我想這個鉤子使用的Liferay document_library原之一。

你能幫我嗎?

我問這裏也http://www.liferay.com/community/forums/-/message_boards/message/9583788

謝謝

回答

3

簡短的回答:不能。

原因:來自鉤子custom-jsp目錄的JSP將被複制到門戶 - 因此它們將在liferay的類加載器中運行。然而,你的portlet將運行在你的插件的類加載器中,因此無法訪問liferay的jsps。

無法在同一個插件中的portlet中使用鉤子中的JSP(針對門戶聲明爲custom-jsps)。這是設計的,你不能通過將它們複製到portlet可以訪問的路徑來解決這個問題。

作爲一種最佳實踐,我建議創建一個修改Liferay的鉤子和一個帶有新(額外)portlet的單獨portlet插件。使portlet自成一體。在有些情況下,鉤子和portlet是很好的組合,但如果修改和添加分開,我最喜歡它。