| :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 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 |