2011-01-12 10 views
1

既存のWebアプリケーションにプラグインのようなメカニズムを実装する必要があります。これは、アプリケーションが主にフォームを生成するという点です。しかし、一部のフォームには特別な動作(明示的に実装する必要のあるカスタムフォーム)があり、新しいカスタムフォームを公開するたびに新しいリリースをパックすることは望ましくありません。warコンテナから外部の.xhtmlファイル(Facelets)をロードする

私は、Webアプリケーションに動的にロードする.xhtmlファイル(JSFコンポーネントを含む)を含むjarファイルの形式のプラグインを用意しました。

エフェクトは、ロードされるOSGiバンドルフラグメントのようにする必要があります。そのため、プラグインのファイル構造は、アプリケーションサーバーによってロードされたオリジナルのwarファイルを拡張します。

誰もその経験がありますか?

おかげで、歓声、

アンドレアス

+0

私はアプリケーションのサーバーとしてglassfish v3を使用していますが、外部の.xhtmlファイルを読み込む必要があります。作業? –

+0

基本的には、xhtmlファイルをアプリケーションサーバーが使用する展開されたアーカイブにコピーするだけです。私はこれがグラスフィッシュにあるのかどうかわかりませんが、JBoss上では次のように動作します:FileUtils.copyFileToDirectory(新しいファイル( "/ path/to/your/xhtml")、this.getClass()。getResource( "/ path/"))); – thobens

答えて

1

自分の質問に答える:これは正しい方法であれば、私は知りませんが、それは私が考えることができる唯一の一つだと、それは簡単です:私が読んでプラグインが配置されているディレクトリです。次に、使用可能なjarファイルをクラスローダーに追加し、jarファイルを読み込み、その内容(.classまたは.javaファイルなし)をアプリケーションサーバーの一時フォルダに抽出します。 JSPでコンパイルする必要があるのでこれが動作するのかどうかはわかりませんが、JSFで動作します。

関連する問題