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

Max*_*Max 9 jsf packaging jar facelets java-ee

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

我不是在谈论JSF组件!

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

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

谢谢马克斯

Bal*_*usC 17

是的,这肯定是可能的,假设您使用的是JSF 2.0,它是Java EE 6的一部分.

至于管理豆类等JSF类,如验证器,转换器等,只是标注他们@ManagedBean,@FacesValidator,@FacesConverter,等并将其打包在JAR的常用方法.您只需要/META-INF/faces-config.xml在JAR中提供JSF 2.0兼容文件.

<?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>
Run Code Online (Sandbox Code Playgroud)

这样,JSF将被触发扫描JAR中的类以获取JSF特定注释.或者,您也可以在JAR的faces-config.xmlJSF 1.x方式中注册它们.

至于Facelets资源,只需将它们放在/META-INF/resourcesJAR的文件夹中即可.它将被视为与WAR的公共webcontent相同的方式.

也可以看看: