本文介绍了JSF实现和组件库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚开始使用JSF,我有三个与JSF实现和组件库有关的问题

I have just started using JSF and I have three questions related to JSF implementations and component libraries

  1. JSF实现和组件库有什么区别?

  1. What is the difference between JSF Implementations and Component Libraries?

有哪些可用的JSF实现(例如Apache MyFaces),它们之间有什么区别?

What are the various JSF implementations (like Apache MyFaces) that are available and what is the difference between each one of them?

有哪些可用的各种JSF组件库(如富油面和冰面),它们之间的区别是什么?

What are the various JSF component libraries (like rich faces and ice faces) that are available and what is the difference between each one of them?

任何提供确切信息的相关链接也将有所帮助.

Any relevant links giving the exact information on this would also be helpful.

推荐答案

JSF实现实现 JSF API规范.它们至少包含 standard 组件以显示任何可用的基本(普通香草")HTML元素.

JSF implementations implements the JSF API Specification. They contains at least the standard components to display any of the available basic ("plain vanilla") HTML elements.

JSF组件库只是在基本实现的基础上增加了那个额外的,通常具有更多的可换肤性,可ajaxability,增强性等,因此您可以使用单个组件而不是一堆来对其进行编程组件或自定义组件,最终以及一堆相关的JS/CSS代码.

JSF component libraries just adds that extra on top of the basic implementation, often with more skinnability, ajaxability, enhanceability, etcetera, so that you can just program it with a single component instead of a bunch of components or custom components, eventually along with a bunch of related JS/CSS code.

到目前为止,有两个(主要)JSF实现,分别是 Oracle Mojarra Apache MyFaces .从技术上讲,它们之间都没有太大区别,因为它们都必须遵守JSF API规范.而是着眼于健壮性,文档的可用性,支持级别,维护级别(增强速度,错误修复,发布等)等.另请参见: Mojarra与MyFaces之间的区别

There are as far two (major) JSF implementations, namely Oracle Mojarra and Apache MyFaces. There's technically not much difference as they both just have to adhere the JSF API Specification. Rather look at robustness, availability of documentation, level of support, grade of maintenance (speed of enhancements, bugfixes, releasing, etc), etcetera. See also: Difference between Mojarra and MyFaces

其中有很多,我将限制自己使用最常用/最知名的库.如果您想要更多的蒙皮功能,请查看 PrimeFaces (演示), RichFaces (演示)或 ICEFaces (演示).如果您想要更多的ajax功能(除了JSF 2.0已经提供的功能之外),请查看PrimeFaces,RichFaces,ICEFaces, OpenFaces ( 演示)或特立尼达( demo ) .如果您想要更多专业化/增强的组件,请查看PrimeFaces,RichFaces,ICEFaces,OpenFaces,Trinidad或 Tomahawk ( 演示).区别主要在于可用的组件集和可定制性程度.

There are lot of them, I'll limit myself to the most used / well known libraries. If you want more skinning capabilities, look at PrimeFaces (demo), RichFaces (demo) or ICEFaces (demo). If you want more ajaxical capabilities (other than what JSF 2.0 already provides), look at PrimeFaces, RichFaces, ICEFaces, OpenFaces (demo) or Trinidad (demo). If you want more specialized/enhanced components, look at PrimeFaces, RichFaces, ICEFaces, OpenFaces, Trinidad or Tomahawk (demo). The difference is mainly to be found in the available set of components and the degree of customizability.

此外,还有一个JSF实用程序库.您可能会认识到自己每次都会重新发明/重写某些FacesUtilJSFUtils等类和/或自定义标签/组件来解决典型的和重复出现的JSF特定问题. OmniFaces (演示 a>)旨在通过提供可重复使用的JSF实用程序标准库来填补这一空白,该库可与每个JSF实现和组件库结合使用.

Further there is also a JSF utility library. You'll probably recognize yourself reinventing/rewriting some FacesUtil, JSFUtils, etc classes everytime and/or custom tags/components to solve typical and recurring JSF-specific problems. OmniFaces (demo) is designed to fill this gap by providing a reuseable standard library of JSF utilities which can be used in combination with every JSF implementation and component library.

这篇关于JSF实现和组件库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-30 06:48