gpt4 book ai didi

jsf - 升级问题 - JSF、Myfaces、Trinidad 和 Facelets 之间有什么联系?

转载 作者:行者123 更新时间:2023-11-28 22:34:35 27 4
gpt4 key购买 nike

我一直在从事一个项目,并试图了解这些组件的工作原理。我对每个人扮演的角色感到困惑。我当前的任务是将一个在 Tomcat 5.5 中使用 JSF、MyFaces、Trinidad 和 Facelets 的项目运行在 Tomcat 6.0 中。当我在新容器中运行它时,我的行为很奇怪。所以我想弄清楚是否需要更新这些库中的任何一个。但我似乎无法弄清楚这些是如何协同工作的。所以这里有一些问题:

  • 如何确定我拥有的 JSF 版本?
  • JSF、Facelets 和 MyFaces 之间有什么区别?
  • 我读到特立尼达是一个 JSF 框架。那么这是 JSF 的扩展吗?

鉴于此信息,Tomcat 版本是否对这些框架有直接影响?

最佳答案

JSF是一个基于组件的 MVC 框架,它是 Java EE 的一部分。 JSF 只是一个抽象规范(就像 Java EE 中的几乎所有其他内容一样)。要真正使用它,您需要一个具体的 JSF 实现。主要的 JSF 实现是 Mojarra 和 MyFaces。

MyFaces是具体的 JSF 实现之一。 Mojarra是另一个。具体的JSF版本可以查看JSF实现JAR文件中的MANIFEST.MF文件。

Trinidad是一个 JSF 组件库。 JSF 组件库是一个扩展,应该在任意 JSF 实现之上使用。组件库通常在 standard component set 之上提供额外的组件具有更多的皮肤、ajaxical 和增强功能。最终目标是尽量减少自行开发的代码和代码重复。

Facelets是一种基于 XML 的 View 技术,是 JSP 的继承者。它允许您通过 XML 声明定义 JSF UI 组件,并沿着它内联普通的 HTML。 View 文件最终被解析并转换为 UIViewRoot在 View 构建时间(恢复 View 阶段)期间生成 HTML,并在 View 渲染时间(渲染响应阶段)生成 HTML。此 HTML 又被发送到客户端(在网络浏览器中打开页面,右键单击并查看源代码以查看它)。

至于您的具体问题,Tomcat 5.5 是一个 Servlet 2.4 容器,因此您最多只能在其上运行 JSF 1.2 实现。 Facelets 未捆绑在 JSF 1.x 中。您需要单独安装 Facelets 1.x。 Tomcat 6.0 是一个 Servlet 2.5 容器,因此您可以在其上运行 JSF 2.0 实现。 Facelets 已经捆绑在 JSF 2.0 中,因此您不必(也不应该)单独安装它。然后,在使用 Trinidad 时,确保您获得与 JSF 规范版本兼容的版本。

另见:

关于jsf - 升级问题 - JSF、Myfaces、Trinidad 和 Facelets 之间有什么联系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449753/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com