blob: 4cfe596371db530ddeefd35c6b01a8444bf269e2 [file] [log] [blame]
:index-group: Unrevised
:jbake-type: page
:jbake-status: status=published
= MyFaces CODI Demo
=== Steps to run the example
[discrete]
==== Build and start the demo:
[source,bash]
----
mvn clean package tomee:run
----
==== Open:
[source,java]
----
http://localhost:8080/myfaces-codi-demo-8.0.1-SNAPSHOT/
----
This example shows how to improve JSF2/CDI/BV/JPA applications with
features provided by Apache MyFaces CODI and ExtVal.
[discrete]
==== Intro of MyFaces CODI and ExtVal
The Apache MyFaces Extensions CDI project (aka CODI) hosts portable
extensions for Contexts and Dependency Injection (CDI - JSR 299). CODI
is a toolbox for your CDI application. Like CDI itself CODI is focused
on type-safety. It is a modularized and extensible framework. So its
easy to choose the needed parts to facilitate the daily work in your
project.
MyFaces Extensions Validator (aka ExtVal) is a JSF centric validation
framework which is compatible with JSF 1.x and JSF 2.x. This example
shows how it improves the default integration of Bean-Validation
(JSR-303) with JSF2 as well as meta-data based cross-field validation.
Illustrated Features
* Apache MyFaces CODI
* Type-safe view-config
* Type-safe (custom) view-meta-data
* Type-safe navigation
* Type-safe (specialized) config
* Type-safe custom project-stage
* @WindowScoped
* Controlling CODI scopes with WindowContext
* @ViewAccessScoped
* Manual conversation handling
* Secured pages (AccessDecisionVoter)
* @Transactional
* I18n (fluent API)
* Dependency-Injection for JSR303 (BV) constraint-validators
* Dependency-Injection for JSF phase-listeners
* Apache MyFaces ExtVal
* Cross-Field validation (@Equals)
* Type-safe group-validation (@BeanValidation) for JSF action-methods