Annotation Interface CustomCollectionConversion


@Documented @Inherited @Target(FIELD) @Retention(RUNTIME) public @interface CustomCollectionConversion

Defines a form field (whether on a Struts Action or model of ModelDriven Struts Action) should be converted using a client supplied collection converter to a recipient field of some type of collection and error message to display if this fails. The custom collection converter must implement CollectionConverter, preferably extending AbstractCustomCollectionConverterSupport, and have a public constructor accepting an instance of this annotation. Also, defines a view helper field receives a sting formated by the custom collection converter.

There are two modes of behaviour for conversion, depending on the type of form field.

Annotation Usage
Form field type Mode Description
String Pair conversion Converts string field value to collection type field named by parsedFieldName
Collection type Auto conversion Converts directly from request parameter

By default, messages are added to the actionErrors list but this can be overridden by messageType:

ERROR
Message added to Action level error messages. Default.
FIELD
Message added to field error messages.
MESSAGE
Message added to Action level info messages.

Other parameters

message
If not empty string, text message to display. Used if messageKey is empty string or finds no message.
messageKey
If not empty string, message key to retrieve from Action's TextProvider. Uses message if no key provided or no message found.
param1
Parameter recognised by custom validator. Defaults to empty string.
param2
Parameter recognised by custom validator. Defaults to empty string.
param3
Parameter recognised by custom validator. Defaults to empty string.
param4
Parameter recognised by custom validator. Defaults to empty string.
param5
Parameter recognised by custom validator. Defaults to empty string.
parsedFieldName
If not empty string, name of field to contain parsed value. Defaults to 'parsed' plus capitalised field name, such as 'parsedLimit'.
processNoValue
If true, can convert empty string and format null or empty collection. Defaults to false.
validatorClass
Class of client supplied validator. See notes above.