Struts Commons v1.7.3
Matthew Greet 15/04/26

Introduction
This Java project is a collection of libraries and template classes for use in 
Struts 2 based apps.  It is Java source code that compiles into a JAR file.  It 
is intended for Java developers using Struts 6.7.
  
Requirements
JDK 8 or better
Maven 3
Jakarta EE server, such as Tomcat 9

Installation
Add the following dependency to pom.xml files.
<dependency>
  <groupId>name.matthewgreet</groupId>
  <artifactId>struts-commons</artifactId>
  <version>1.7.3</version>
</dependency> 

If not downloading from Maven Central Repository, extract struts-commons-1.7.3.jar and run the following 
mvn org.apache.maven.plugins:maven-install-plugin:3.1.4:install-file -Dfile="struts-commons-1.7.3.jar"

See https://ww.matthewgreet.name/javadoc/struts-commons-1.7.3/name/matthewgreet/strutscommons/util/doc-files/installation.html
for further configuration.

Change log
v1.7.3 - 15/04/26
Manual parameter conversion can use ValidationAware2, which has warning messages.
DefaultPolicyLookup reads constants from struts.xml, rather than relying on interceptors using dependency injection, to 
avoid conflict with Actions using older interceptor stacks.
Template classes for converters and collection converters that only format.
Retrofitted default message type to AnnotationValidationInterceptor.

v1.7.2 - 02/02/26
BooleanConverter recognises default value of checkboxes.
Templates for grouped and multi drop-down lists.
Form input HTML tutorial. 

v1.7.1 - 24/01/26
Ignore non-annotated form fields for annotation validation option.
Fix of NullPointerException where form field is a generic type.

v1.7.0 - 18/01/26
Class scanning for bespoke annotations and policies.
Display formatting of collection fields from source collection fields.
Warning message support.
Support for alternate annotation and policy sets. 

v1.6.5 - 25/11/25
Fix of collection post conversion validators.
Fix of default converters of collection form fields.

v1.6.4 - 03/09/25
Fix formatting of form that was processed.

v1.6.3 - 23/08/25
Fix of inheritance hierarchy for converters and collection converters.

v1.6.2 - 09/08/25
Annotation-based form validation includes post conversion adjusters.

v1.6.1 - 28/05/25
Form validation includes file uploading.

v1.6.0 - 31/03/25
Redesigned annotation-based form validation.

