Why another web application framework?
Since the late 90's, a whole bunch of web application frameworks based on servlet technology appeared (and some also disappeared) on the horizon.
The one that seems to come close to many people's needs is the popular Struts framework. We have been using Struts for over three years now, and - all in all - we liked it. Struts spread the MVC Model 2 approach all over the world and introduced some very good ideas. Indeed, Struts influenced Calyxo in many areas.
So, where's the need for yet another framework? We felt, that basically we wanted to use the Struts controller, but wanted to get rid of the things, that gathered around it. Neither the tiles mechanism nor the validator satisfied our needs. Furthermore, since the availability of JSTL 1.1, 90 percent of Struts' tag libraries are obsolete.
The greatest needs came up in the user input validation area. So, we started to develop a validation component as a Struts plugin. Another issue was view-management (define and parametrize your view templates - e.g. JSP fragments - in a centralized file). To address this, we developed another component as a Struts plugin.
However, the Struts controller's extension capabilities are quite limited (you can do it, but you can't do it well). On the other hand, the controller part is just a couple of classes, so that would not justify the use of Struts. Went so far, we decided to provide our own controller, which takes the best of Struts' controller and adds some nifty features we all desired.
The result is Calyxo, a complete web application framework, which not only can speed up and simplify your development, but can also improve the quality of your applications.