是否可以将JSF facelet和ManagedBean打包到JAR文件中?这样我们就可以在不同的战争/战争项目中使用这种代码和UI组合了?
我不是在说JSF组件!
如果是-你能给我指一个教程或博客文章
我需要关于Jar结构的详细信息以及Jar中需要的其他文件?
感谢Max
是的,这肯定是可能的,假设您使用的是JavaEE6的一部分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特定的注释。或者,您也可以通过JSF1.x的方式在JAR的faces-config.xml
中注册它们。
至于Facelets资源,只需将它们放在JAR的/META-INF/resources
文件夹中即可。它将以与WAR的公共网络内容相同的方式进行处理。
另请参阅:
- 将Facelets文件(模板、包含、组合)打包到JAR中