| :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: |
| .... |
| 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 it’s |
| 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 |