Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In many places, applications can use use Java 5 annotations as an alternative to XML and Java properties configuration. This page serves as a reference for all annotations across the framework.

Action Annotations

Note

Since 2.1, these annotations are provided by the Convention Plugin. Codebehind and Zero Config plugins are deprecated from 2.1 on.

Action annotations are available when the framework scans the classpath for Action classes, rather than specifying individual mappings through XML configuration. See the Zero Configuration Convention Plugin page for information on how to set up classpath scanning to allow the use of Action annotations.

Annotation

Description

Actions Annotation

Group of @Action annotations, maps multiple URLs to the same action

Action Annotation

Defines the URL of an action

InterceptorRefs Annotation

Gropup of @InterceptorRef annotations

InterceptorRef Annotation

Interceptor, or interceptor stack to be applied to at action

Results Annotation

Group of @Result annotations

Result Annotation

Defines a result for an action

Namespace Annotation

Set the path of the action URL (used to overwrite the default)

ResultPath Annotation

Set where the results are located (used to overwrite the default)

ParentPackage Annotation

Set the parent package of the actions (used to overwrite the default)

ExceptionMappings

Group of @ExceptionMapping annotations

ExceptionMapping

Defines an exception mapping

Workflow Annotations

Annotation

Description

InputConfig Annotation

Defines what method to execute, or result to be returned if there are validation errors

Namespace Annotation

Overrides the namespace of an action

ParentPackage Annotation

Defines an existing configuration package for the action's package to extend

Result Annotation

Defines an action Result

Results Annotation

Defines multiple Results

Interceptor Annotations

To use these annotations, you have to specify the AnnotationWorkflowInterceptor to your interceptor stack.

...

Annotation

Description

ConversionErrorFieldValidator Annotation

Checks if there are any conversion errors for a field.

DateRangeFieldValidator Annotation

Checks that a date field has a value within a specified range.

DoubleRangeFieldValidator Annotation

Checks that a double field has a value within a specified range.

EmailValidator Annotation

Checks that a field is a valid e-mail address.

ExpressionValidator Annotation

Validates an expression.

FieldExpressionValidator Annotation

Uses an OGNL expression to perform its validator.

IntRangeFieldValidator Annotation

Checks that a numeric field has a value within a specified range.

RegexFieldValidator Annotation

Validates a regular expression for a field.

RequiredFieldValidator Annotation

Checks that a field is non-null.

RequiredStringValidator Annotation

Checks that a String field is not empty.

StringLengthFieldValidator Annotation

Checks that a String field is of the right length. StringRegexValidator Annotation

Invokes a regular expression to validate a String field.

UrlValidator Annotation

Checks that a field is a valid URL.

Validation Annotation

Marker annotation for validation at Type level.

Validations Annotation

Used to group validation annotations.

VisitorFieldValidator Annotation

Invokes the validation for a property's object type.

CustomValidator Annotation

Use this annotation for your custom validator types.

...

In short, instead of specifying the types found in collections and maps as documented in Type Conversion, the collection's generic type is used. By using annotations, an application should be able to avoid using any ClassName-conversion.properties files.

...

Annotation

Description

Conversion Annotation

Marker annotation for type conversions at Type level.

CreateIfNull Annotation

For Collection and Map types: Create the types within the Collection or Map, if null.

Element Annotation

For Generic types: Specify the element type for Collection types and Map values.

Key Annotation

For Generic types: Specify the key type for Map keys.

KeyProperty Annotation

For Generic types: Specify the key property name value.

TypeConversion Annotation

Used for class and application wide conversion rules.

Tiles Annotations

The Tiles Plugin provides it's own set of Annotations. They can be used to keep tiles.xml short. Instead tiles definitions can be created by annotating actions.

AnnotationDescription
TilesDefinitionRepresents a <definition> element in tiles.xml
TilesDefinitionsA list of TilesDefinition Annotations

TilesPutAttribute

Represents a <put-attribute> element in tiles.xml
TilesPutListAttributeRepresents a <put-list-attribute> element in tiles.xml
TilesAddAttributeRepresents a <add-attribute> element in tiles.xml
TilesAddListAttributeRepresents a <add-list-attribute> element in tiles.xml

 

Next: Configuration Elements