我有两个项目,我需要为其他项目重用相同的jsf托管bean类。 有什么办法可以为jsf托管bean类+ util类创建一个单独的项目,并在我将要做的所有项目中引用它们。
答案 0 :(得分:1)
根据所使用的IDE,创建一个简单的“Java项目”或“Web片段项目”,并确保它在源文件夹中有一个JSF 2.0兼容的/META-INF/faces-config.xml
文件。然后配置您的Web项目以将该项目作为JAR包含在/WEB-INF/lib
中(同样,取决于所使用的IDE,在Eclipse中只需将模块项目添加到Web项目属性中的 Deployment Assembly 列表) 。一旦JSF在/WEB-INF/lib
中找到与JSF 2.0兼容的/META-INF/faces-config.xml
的JAR,那么JSF将自动扫描整个JAR以获取JSF工件。
答案 1 :(得分:0)
由于您使用的是Java EE 6,如果您愿意使用CDI,那么这将是一件非常容易的事情。我自己做了几次。
将您的Managed Beans放在一个单独的JAR项目中,并将其导入您要使用它们的项目中。您唯一需要做的就是使用@Named
而不是@ManagedBean
,并在两个项目的/ META-INF中都有一个beans.xml。这样,您就可以在facelets页面中引用启用CDI的bean,并获得CDI模型的整体灵活性和强大功能。