如果我使用 MyFaces,为什么我需要更多的罐子?
因为这些commons-*
依赖项没有捆绑在 MyFaces 中。另一方面,如果您使用来自 Apache.org 的其他库也使用这些commons-*
依赖项,那么您最终会得到更小的总大小的库。
应该注意的是,从 Mojarra 2.1.6 开始,一个单一的 JAR 文件格式可用javax.faces.jar
,因为 Mojarra 2.3.9 重命名为jakarta.faces.jar
.
我应该更喜欢 Mojarra 吗?
这是一个非论证。您应该看看 JSF 实现的健壮性和维护性如何。
Mojarra 的祖父 Sun JSF RI 1.0 和 RI 1.1 的早期版本都被讨厌的错误弄得一团糟。那时(大约 2004-2006 年),MyFaces 绝对是更稳定的选择。
自 2006 年初左右的 1.1_02 和 1.2_02 以来,新的 Sun/Oracle JSF 开发团队做得很好。不仅可以修复错误,还可以增强性能。在 Mojarra 1.2 生命周期的一半左右(大约 2007-2009 年),Mojarra 是比 MyFaces 更好的选择。
自 JSF 2.0 以来,带有新的部分状态保存管理,MyFaces 在性能方面是更好的选择,因为计算状态增量的不同且更有效的方法,特别是在使用大型组件树时。Mojarra 仅从 2.1.22 版本开始赶上。在 2.0/2.1 时间线中,Mojarra 仅<ui:repeat>
在复杂/嵌套组合(损坏状态保存、仅处理最后一个迭代形式、失败<f:ajax>
等)和闪存范围实现(初始实现完全不是防弹)方面存在严重问题。MyFaces 也有自己的一组错误,但它们是可控的。
现在,对于 JSF 2.2,我们并不能真正预先说出哪个更好。错误通常只在以后才暴露出来,而健壮性只能在事后评估。只需选择您“认为”最好的任何实现。浏览他们的问题报告(MyFaces和Mojarra)以了解以前修复的问题和当前未解决的问题。如果您遇到特定错误,请尝试使用这两种实现来排除一个和另一个。如有必要,请报告以保持两个实施的整体质量较高。
另外下载页面确实是JSF Mojarra吗?
他们的主页已经移动了好几次。目前(2019 年 11 月)它位于https://eclipse-ee4j.github.io/mojarra。org.glassfish:jakarta.faces
你也可以在 Maven Central 中找到这些库。eclipse-ee4j/mojarra
您可以在 GitHub的项目中找到源代码。
也可以看看: