Annotation Type 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 default public constructor. 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:

Message Types
ERROR Message added to Action level error messages. Default.
FIELD Message added to field error messages using same name as field.
MESSAGE Message added to Action level info messages.
WARNING Message added to Action level warning messages.

Other parameters

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 converter. Defaults to empty string.
param2 Parameter recognised by custom converter. Defaults to empty string.
param3 Parameter recognised by custom converter. Defaults to empty string.
param4 Parameter recognised by custom converter. Defaults to empty string.
param5 Parameter recognised by custom converter. 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'.
processNoValueIf true, can convert empty string and format null or empty collection. Defaults to false.
validatorClass Class of client supplied validator. See notes above.

When applied to a view helper field, StrutsMiscellaneousLibrary#updateDisplay formats from a source record field with the same name but only certain combinations are recognised.

Formatting Annotation Usage
Display field type Record field type Notes
String Collection of collection converter recipient type