Java EE6>将JSF facelets(xhtml)和ManagedBeans打包为JAR

时间:2011-05-24 00:15:30

标签: jsf java-ee jar facelets packaging

是否可以将JSF facelets和ManagedBeans打包到JAR文件中?那么我们可以在不同的war / ear项目中使用这个代码和UI组合吗?

我不是在谈论JSF组件!

如果是的话 - 你可以指点我的教程或博客文章

我需要有关Jar结构和Jar中所需的其他文件的详细信息吗?

谢谢Max

1 个答案:

答案 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内容相同。

另见: