Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/apache/myfaces

Apache MyFaces Core
https://github.com/apache/myfaces

java javaee myfaces web-framework

Last synced: about 1 month ago
JSON representation

Apache MyFaces Core

Awesome Lists containing this project

README

        





![Maven Central](https://img.shields.io/maven-central/v/org.apache.myfaces.core/myfaces-impl)
[![Build Status](https://github.com/apache/myfaces/workflows/MyFaces%20CI/badge.svg)](https://github.com/apache/myfaces/actions/workflows/myfaces-ci.yml)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Build Status ASF](https://ci-builds.apache.org/buildStatus/icon?subject=ASF-Build&job=MyFaces%2FMyFaces+Pipeline%2Fmain)](https://ci-builds.apache.org/job/MyFaces/job/MyFaces%20Pipeline/job/main/)

Apache's implementation of the JavaServer Faces (JSF) and Jakarta Faces specification

## Branches

### main

Jakarta Faces 5.0 implementation

### 4.1.x
![4.1.x](https://img.shields.io/maven-central/v/org.apache.myfaces.core/myfaces-impl?versionPrefix=4.1&color=cyan)
Jakarta Faces 4.1 implementation

### 4.0.x
![4.0.x](https://img.shields.io/maven-central/v/org.apache.myfaces.core/myfaces-impl?versionPrefix=4.0&color=cyan)
Jakarta Faces 4.0 implementation
Based on the refactored 2.3-next codebase

### 2.3-next
![2.3-next](https://img.shields.io/maven-central/v/org.apache.myfaces.core/myfaces-impl?versionPrefix=2.3-next&color=cyan)
(Almost) JavaServer Faces 2.3 implementation
Completely refactored codebase compared to 2.3, also providing a Quarkus extension
2.3-next equals the JSF 2.3 API but delegates @ManagedBeans to CDI; ManagedBeans configured via XML are completely ignored. The implementation of the old FacesEL (javax.faces.el.*) also has been completely removed.

### 2.3.x
![2.3](https://img.shields.io/maven-central/v/org.apache.myfaces.core/myfaces-impl?versionPrefix=2.3&color=cyan)
JavaServer Faces 2.3 implementation

## Minimum Requirements (main)

- Java 17+
- Servlet 5.0+
- EL 5.0+
- CDI 4.0+
- JSTL 3.0+ (optional)
- BV 3.0+ (optional)

## Installation

mvn clean install

## Usage

### Dependency
```xml

org.apache.myfaces.core
myfaces-api
5.0.0-SNAPSHOT

org.apache.myfaces.core
myfaces-impl
5.0.0-SNAPSHOT

```

### web.xml
```xml


Faces Servlet
jakarta.faces.webapp.FacesServlet


Faces Servlet
*.xhtml

```

### index.xhtml
```xml

Hello World!

```

## Quarkus extension

Since 2.3-next a Quarkus extension is available. A sample project can be found here: https://github.com/apache/myfaces/blob/main/extensions/quarkus/showcase/

### Not supported features:
- Quarkus Uber-JARs are not supported (See: https://issues.apache.org/jira/browse/MYFACES-4427)
- Quarkus does not support session replication / passivation / clustering
- Quarkus beans are not serializable and therefore session passivation would never work anyway
- Quarkus does not implement @ConversationScoped
- Quarkus does not support injection in normal objects, therefore injection in JSF artifacts like NavigationHandler etc. is not supported

### Differences to a normal servlet container while developing
- You need to put your views under src/main/resources/META-INF/resources as Quarkus doesn't create a WAR and src/main/webapp is ignored!