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

升级问题-JSF、Myfaces、Trinidad和Facelets之间有什么联系?,jsf,tomcat,facelets,myfaces,trinidad,Jsf,Tomcat,Facelets,Myfaces,Trinidad,我一直在做一个项目,试图了解这些组件是如何工作的。我对每个人所扮演的角色感到困惑。我当前的任务是在Tomcat5.5中使用JSF、MyFaces、Trinidad和Facelets,并在Tomcat6.0中运行它。当我在新容器中运行它时,会出现非常奇怪的行为。所以我想知道我是否需要更新这些库。但我似乎不明白这些是如何一起工作的。下面是一些问题: 我如何确定我拥有的JSF的版本 JSF、Facelets和MyFaces之间有什么区别 我读到特立尼达是一个JSF框架。那么这是JSF的扩展吗 鉴于

我一直在做一个项目,试图了解这些组件是如何工作的。我对每个人所扮演的角色感到困惑。我当前的任务是在Tomcat5.5中使用JSF、MyFaces、Trinidad和Facelets,并在Tomcat6.0中运行它。当我在新容器中运行它时,会出现非常奇怪的行为。所以我想知道我是否需要更新这些库。但我似乎不明白这些是如何一起工作的。下面是一些问题:

  • 我如何确定我拥有的JSF的版本
  • JSF、Facelets和MyFaces之间有什么区别
  • 我读到特立尼达是一个JSF框架。那么这是JSF的扩展吗
鉴于这些信息,Tomcat版本对这些框架有直接影响吗?

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

是具体的JSF实现之一。这是另一个。通过检查JSF实现JAR文件中的
MANIFEST.MF
文件,可以找到具体的JSF版本

是一个JSF组件库。JSF组件库是一个扩展,应该在任意JSF实现之上使用。组件库通常在顶部提供附加组件,具有更多蒙皮、ajaxical和增强功能。最终目标是尽量减少自产代码和代码重复

是一种基于XML的视图技术,是JSP的继承者。它允许您通过XML声明定义JSF UI组件,并沿着它内联普通HTML。视图文件最终会在视图构建期间(还原视图阶段)解析并转换为HTML,并在视图呈现期间(呈现响应阶段)生成HTML。该HTML被依次发送到客户端(在webbrowser中打开页面,右键单击并查看源代码以查看它)

至于您的具体问题,Tomcat5.5是一个Servlet2.4容器,因此您只能在最高级别上运行JSF1.2实现。Facelets没有捆绑在JSF1.x中。您需要单独安装Facelets 1.x。Tomcat6.0是一个Servlet2.5容器,因此您可以在其上运行JSF2.0实现。Facelets已经捆绑在JSF2.0中,所以您不(也不应该)单独安装它。然后,在使用Trinidad时,确保获得与JSF规范版本兼容的版本

另见:
    • 是一个基于组件的MVC框架,它是JavaEE的一部分。JSF仅仅是一个抽象规范(与JavaEE中的几乎所有其他规范一样)。要真正使用它,您需要一个具体的JSF实现。主要的JSF实现是Mojarra和MyFaces

      是具体的JSF实现之一。这是另一个。通过检查JSF实现JAR文件中的
      MANIFEST.MF
      文件,可以找到具体的JSF版本

      是一个JSF组件库。JSF组件库是一个扩展,应该在任意JSF实现之上使用。组件库通常在顶部提供附加组件,具有更多蒙皮、ajaxical和增强功能。最终目标是尽量减少自产代码和代码重复

      是一种基于XML的视图技术,是JSP的继承者。它允许您通过XML声明定义JSF UI组件,并沿着它内联普通HTML。视图文件最终会在视图构建期间(还原视图阶段)解析并转换为HTML,并在视图呈现期间(呈现响应阶段)生成HTML。该HTML被依次发送到客户端(在webbrowser中打开页面,右键单击并查看源代码以查看它)

      至于您的具体问题,Tomcat5.5是一个Servlet2.4容器,因此您只能在最高级别上运行JSF1.2实现。Facelets没有捆绑在JSF1.x中。您需要单独安装Facelets 1.x。Tomcat6.0是一个Servlet2.5容器,因此您可以在其上运行JSF2.0实现。Facelets已经捆绑在JSF2.0中,所以您不(也不应该)单独安装它。然后,在使用Trinidad时,确保获得与JSF规范版本兼容的版本

      另见: