FormEngine

The FormEngine is a Java framework for dynamic form creation and complex form processing for web applications.
About.
The primary goal of this framework is to help application developers in two areas of interest: 
1. dynamic creation of form definitions at runtime
2. a simple albeit powerful way to dynamically process complex calculations and validations of form input (user data)
Characteristics.
The FormEngine framework is built for use in available (or new) Java web application projects. It can be integrated with a few easy steps into a servlet container.
Form processing occurs in "form sessions" that bind data processing abilities along with the snapshot of the current data model to the task that's been initiated by a user/client.
A form session manages a form instance that behaves just like described in the form definition. The FormEngine relies on AJAX techniques to allow client-server communication during a form session.
Calculations and data validation have to be implemented server-side only. Several design patterns aim for minimizing memory needs. Renderers are implemented thread-safe and can be used simultaneously with multiple form instances of a single form definition.
History.
The FormEngine Java framework project started in 2007. It was created to overcome the shortfalls of other web form frameworks in several areas. It is used in a business process management suite (*) as a replacement for the Chiba Engine, a form framework to process XForms definitions. The FormEngine framework was first released for open use under a modified MIT license in December 2009.
Articles and further information.
Several articles have been posted about the FormEngine Java framework, such as "FormEngine : Multidynamische Formulare" (German). For further information see External links.