2011-01-12 79 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。