从war容器加载外部.xhtml文件(Facelets)

时间:2011-01-12 13:39:47

标签: web-applications plugins

我必须在现有的Web应用程序中实现类似插件的机制。关键是应用程序主要生成表单。但是某些表单有一些特殊的行为(必须明确实现自定义表单),并且我们不希望每次发布新的自定义表单时都打包新版本。

现在我有一个jar文件形式的插件,其中包含我想要动态加载到我的Web应用程序中的.xhtml文件(包含JSF组件)。

效果应该像加载的OSGi包片段一样,因此我的插件的文件结构扩展了我应用服务器加载的原始war文件之一。

有人有经验吗?

谢谢和欢呼,

安德烈亚斯

1 个答案:

答案 0 :(得分:1)

回答我自己的问题:我不知道这是否是正确的方法,但它是我能想到的唯一一个,而且很简单:我读取了插件所在的目录。然后,我将可用的jar文件添加到类加载器中,读取jar文件并将其内容(不带.class或.java文件)提取到应用程序服务器的临时文件夹中。我不知道这是否适用于JSP,因为它们必须被编译,但它适用于JSF。