jStates is a java library for easy state machine design and implementation.It uses XML to define states and state transitions. jStates is aimed at easy integration with desktop J2SE applications, Struts, Commons Validator, Web and other J2EE technologies
SG is an another next generation code generator which generates web-based java applications with Apache Cayenne RDBMS, Apache Struts 1.1, Displaytag 1.1 , AjaxTags support. It uses an excel user interface to gather beans and application data.