是否可以将JSF facelets和ManagedBeans打包到JAR文件中?那么我们可以在不同的war / ear项目中使用这个代码和UI组合吗?
我不是在谈论JSF组件!
如果是的话 - 你可以指点我的教程或博客文章
我需要有关Jar结构和Jar中所需的其他文件的详细信息吗?
谢谢Max
答案 0 :(得分:16)
是的,假设您使用的是Java EE 6的一部分JSF 2.0,那肯定是可能的。
对于托管bean和其他JSF类(如验证器,转换器等),只需使用@ManagedBean
,@FacesValidator
,@FacesConverter
等对它们进行注释,然后将它们打包到JAR中办法。您只需要在JAR中提供兼容JSF 2.0的/META-INF/faces-config.xml
文件。
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
</faces-config>
这样,JSF将被触发扫描JAR中的类以获取JSF特定的注释。或者,您也可以在JAR的faces-config.xml
JSF 1.x方式中注册它们。
对于Facelets资源,只需将它们放在JAR的/META-INF/resources
文件夹中即可。它的处理方式与WAR的公共Web内容相同。