Java EE6>将 JSF Facelets (xhtml) 和 ManagedBeans 打包为 JAR
是否可以将 JSF Facelets 和 ManagedBeans 打包到 JAR 文件中?这样我们就可以在不同的 war/ear 项目中使用这个代码和 UI 组合了吗?
我不是在谈论 JSF 组件!
如果是 - 你能给我指一个教程或博客文章吗?
我需要有关 Jar 结构和 Jar 中所需的其他文件的详细信息?
谢谢马克斯
Is it possible to package JSF facelets and ManagedBeans into a JAR file? So that we can use this code and UI combination in different war/ear projects?
I am not talking about JSF Components!
If yes - can you point me to a tutorial or blog post
I need details about the Jar structure and additional files needed in the Jar?
Thanks Max
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,这绝对是可能的,假设您使用的是 JSF 2.0(Java EE 6 的一部分)。
至于托管 bean 和其他 JSF 类(如验证器、转换器等),只需使用
@ManagedBean
注释它们即可、@FacesValidator
、@FacesConverter
等,并以通常的方式将它们打包到 JAR 中。您只需在 JAR 中提供与 JSF 2.0 兼容的/META-INF/faces-config.xml
文件。这样,JSF 将被触发扫描 JAR 中的类以获取 JSF 特定注释。或者,您也可以以 JSF 1.x 的方式在 JAR 的
faces-config.xml
中注册它们。至于 Facelets 资源,只需将它们放入 JAR 的
/META-INF/resources
文件夹中即可。它将被视为与 WAR 的公共网络内容相同的方式。另请参阅:
Yes, that's definitely possible, assuming that you're using JSF 2.0, part of Java EE 6.
As to the managed beans and other JSF classes like validators, converters, etc, just annotate them with
@ManagedBean
,@FacesValidator
,@FacesConverter
, etc and package them in the JAR the usual way. You only need to provide a JSF 2.0 compatible/META-INF/faces-config.xml
file in the JAR.This way JSF will be triggered to scan the classes in the JAR for JSF specific annotations. Alternatively you can also just register them in the JAR's
faces-config.xml
the JSF 1.x way.As to Facelets resources, just drop them in
/META-INF/resources
folder of the JAR. It'll be treated the same way as public webcontent of the WAR.See also: