2011-01-12 53 views
1

我必須在現有的Web應用程序中實現類似插件的機制。關鍵是應用程序主要生成表單。但是某些表單有一些特殊的行爲(必須明確實現的自定義表單),而且我們不希望每次發佈新的自定義表單時都打包新版本。從戰爭容器中加載外部的.xhtml文件(Facelets)

現在我有一個包含.xhtml文件(包含JSF組件)的jar文件形式的插件,我想要動態加載到我的Web應用程序中。

效果應該像加載的OSGi包片段一樣,因此我的插件的文件結構擴展了應用程序服務器加載的原始war文件之一。

有沒有人有這方面的經驗?

感謝和歡呼聲,

安德烈亞斯

+0

我有完全相同的問題,我需要加載外部.xhtml文件(如插件),我使用glassfish v3作爲我的應用服務器,你可以發佈一些示例代碼來顯示你如何得到你的解決方案工作? – 2011-08-30 18:35:52

回答

1

回答我的問題:我不知道這是正確的方式,但它是唯一一個我能想到的,它很簡單:我讀了目錄,插件所在的位置。然後,將可用的jar文件添加到類加載器中,讀取jar文件並將其內容(不帶.class或.java文件)提取到應用程序服務器的臨時文件夾中。我不知道這是否適用於JSP,因爲它們必須進行編譯,但它適用於JSF。