Apache MyFaces

{{Short description|Open-source implementation of JavaServer Faces}}

{{Infobox software

| name = Apache MyFaces

| logo = Apache MyFaces Logo.svg

| logo size = 250px

| logo title = Apache MyFaces Logo

| screenshot =

| caption =

| developer = Apache Software Foundation

| discontinued = No

| latest release version = 4.1.1

| latest release date = {{Start date and age|2025|03|25}}{{cite web|url=https://myfaces.apache.org/#/news|title=Apache MyFaces - News|access-date=25 March 2025}}

| latest preview version = 4.0.0-RC1

| latest preview date = {{Start date and age|2022|07|07}}

| operating system = Cross-platform

| programming language = Java

| genre = Web framework

| license = Apache License 2.0

| website = {{Official URL}}

}}

Apache MyFaces is an Apache Software Foundation project that creates and maintains an open-source JavaServer Faces implementation, along with several libraries of JSF components that can be deployed on the core implementation. The project is divided into several sub-projects:

  • Core: an implementation of the JSF 1.1, JSF 1.2, JSF 2.0, JSF 2.1, JSF 2.2, JSF 2.3, Faces 3.0 and Faces 4.0 specification and components as specified by [http://www.jcp.org/en/jsr/detail?id=127 JSR 127], [http://www.jcp.org/en/jsr/detail?id=252 JSR 252], [http://www.jcp.org/en/jsr/detail?id=314 JSR 314], [http://www.jcp.org/en/jsr/detail?id=344 JSR 344] and [https://www.jcp.org/en/jsr/detail?id=372 JSR 372] respectively
  • Portlet Bridge: an implementation of the JSF Portlet Bridge specification as specified by [http://www.jcp.org/en/jsr/detail?id=301 JSR 301]
  • Tomahawk: a set of JSF components created by the MyFaces development team prior to its donation to Apache
  • Trinidad: a set of JSF components contributed to MyFaces by Oracle, where it was known as ADF Faces
  • Tobago: a set of JSF components contributed to MyFaces by [https://web.archive.org/web/20141216200328/http://atanion.com/ Atanion GmbH]
  • Orchestra: a framework used to manage persistence sessions across various scopes
  • Extensions Validator: a JSF centric validation framework, which is based on annotations
  • CODI: a toolbox which will support you on solving your daily needs of software development with CDI, JSF, BV and JPA
  • Others: As well as these subprojects, MyFaces has a number of smaller subprojects, for example MyFaces Commons or MyFaces Shared. These subprojects can be found [http://myfaces.apache.org/otherProjects.html here] {{Webarchive|url=https://web.archive.org/web/20120505152620/http://myfaces.apache.org/otherProjects.html |date=2012-05-05 }}.

The standard is based on the Model View Controller paradigm, but is also component-based and event-oriented. Different templating languages can be used. In the standard, JSP is used, other options include XML based templating languages like Shale Clay or Facelets.{{cite web|url=http://myfaces.apache.org/jsfintro.html|title=MyFaces – Introduction to JSF|website=myfaces.apache.org|access-date=23 April 2018|url-status=live|archive-url=https://web.archive.org/web/20170922054541/http://myfaces.apache.org/jsfintro.html|archive-date=22 September 2017}}

Core

The MyFaces Core subproject is an open-source implementation of the JavaServer Faces specification. Each major release of MyFaces Core is certified against the Sun Technology Compatibility Kit to ensure compliance.{{cite web|url=http://myfaces.apache.org/core12/index.html|title=Apache MyFaces Core 1.2 Description|access-date=December 7, 2009| archive-url= https://web.archive.org/web/20091213150811/http://myfaces.apache.org/core12/index.html| archive-date= 13 December 2009 | url-status= live}}

The core subproject is divided into two submodules:

  • MyFaces API implements all of the classes that are defined in the specification.
  • MyFaces Impl provides "invisible" support classes that user code does not directly invoke, but which are needed for a working JSF framework. Examples are the renderer classes for the standard JSF components.

These two submodules are distributed in two libraries, myfaces-api.jar and myfaces-impl.jar. Both of them are needed to be able to deploy a JSF based web application.

The latest release of MyFaces Core is 2.3.4. It requires Java 1.8 or later, JSP 2.2, JSTL 1.2, CDI 2.0, WebSocket 1.1 and a Java Servlet 4.0 implementation.{{cite web|url=http://myfaces.apache.org/core22/index.html|title=Apache MyFaces Core 2.2 Description|access-date=2016-01-29|url-status=live|archive-url=https://web.archive.org/web/20160103134152/http://myfaces.apache.org/core22/index.html|archive-date=2016-01-03}}

See also

{{Portal|Free and open-source software}}

References

{{Reflist}}