[appendix] [[assertions]] Summary of Assertions --------------------- [[list-of-assertions]] List of all Assertions ~~~~~~~~~~~~~~~~~~~~~~ [[mvc:controller]] *\[[mvc:controller]]* [tck-testable tck-test-id-Controller_Annotation]#Controller methods are JAX-RS resource methods annotated with `@Controller`.# [[mvc:all-controllers]] *\[[mvc:all-controllers]]* All resource methods in a class annotated with `@Controller` must be controllers. [[mvc:void-controllers]] *\[[mvc:void-controllers]]* Controller methods that return void must be annotated with `@View`. [[mvc:cdi-beans]] *\[[mvc:cdi-beans]]* MVC beans are managed by CDI. [[mvc:per-request]] *\[[mvc:per-request]]* Default scope for MVC beans is request scope. [[mvc:validation-result]] *\[[mvc:validation-result]]* If validation fails, controller methods must still be called if a `ValidationResult` field or property is defined. [[mvc:event-firing]] *\[[mvc:event-firing]]* All events in `javax.mvc.event` must be fired. See Javadoc for more information on each event in that package. [[mvc:builtin-engines]] *\[[mvc:builtin-engines]]* Implementations must provide support for JSPs and Facelets. [[mvc:extension-engines]] *\[[mvc:extension-engines]]* CDI beans that implement `javax.mvc.engine.ViewEngine` provide an ex- tension mechanism for view engines. [[mvc:selection-algorithm]] *\[[mvc:selection-algorithm]]* Implementations must use algorithm in the <> section to select view engines. [[mvc:request-forward]] *\[[mvc:request-forward]]* Forward request for which no view engine is found. [[mvc:exception-wrap]] *\[[mvc:exception-wrap]]* Exceptions thrown during view processing must be wrapped. [[mvc:view-resolution]] *\[[mvc:view-resolution]]* Relative paths to views must be resolved as explained in the <> section. [[mvc:null-controllers]] *\[[mvc:null-controllers]]* The `@View` annotation is treated as a default value for any controller method that returns a null value. [[mvc:redirect]] *\[[mvc:redirect]]* Support HTTP redirects using the redirect: prefix and a controller return type of String. [[mvc:annotation-inheritance]] *\[[mvc:annotation-inheritance]]* Annotation inheritance is derived from JAX-RS and extended to MVC annotations. [[mvc:csrf-options]] *\[[mvc:csrf-options]]* CSRF support for configuration options defined by `Csrf.CsrfOptions`. [[mvc:csrf-support]] *\[[mvc:csrf-support]]* CSRF validation required only for controllers annotated by `@POST` and consuming the media type `x-www-form-urlencoded`. [[mvc:mvc-context]] *\[[mvc:mvc-context]]* Application-scoped `MvcContext` available for injection and as `mvc` in EL. [[mvc:request-locale-context]] *\[[mvc:request-locale-context]]* The `MvcContext` must provide access to the current request locale. [[mvc:extension-resolvers]] *\[[mvc:extension-resolvers]]* CDI beans implementing `javax.mvc.locale.LocaleResolver` provide an extension mechanism for the request locale resolving algorithm. [[mvc:resolve-algorithm]] *\[[mvc:resolve-algorithm]]* The request locale must be resolved as described in the <> section. [[mvc:default-locale-resolver]] *\[[mvc:default-locale-resolver]]* Implementations must provide a default locale resolver as described in the <> section.