Grails is a full stack framework for developing Web applications on the Java platform. It builds on the concepts introduced by frameworkds like Rails, Django, and TurboGears, but builds on established Java technologies like Spring and Hibernate. It includes an easy-to-use object relational mapping (ORM) layer, an expressive view technology, a controller layer, a command line scripting environment, an embedded Jetty container which is configured for on-the-fly reloading, dependency injection, support for internationalization (i18n), and a transactional service layer.
Studs MVC Framework+ contains a port of Apache's Jakarta Struts to PHP, though the libraries included in the rest of the project are much more vast. In order to implement the Struts port, it was necessary to build a core, object-oriented API in the style of the JDK and the Jakarta Commons, a servlet container to handle HTTP requests and to invoke servlet classes, and finally, a parsing engine for JSP-style template pages. In the end, the result is an environment which is very similar to that provided by a J2EE Web Container, only everything is implemented in PHP. While it was possible to carry over many of the concepts, designs and mechanisms from J2EE, some limitations do exist due to the nature of the PHP programming language, such as the lack of checked exceptions (runtime only).
Architecture Rules is a Java library that allows a programmer to assert code's architecture via unit tests or ant tasks. This test is able to assert that specific packages do not depend on others and is able to check for and report on cyclic dependencies among your project's packages and classes. This project wraps a industry accepted JDepend to simplify the process of maintaining a solid software architecture.
The ZK Mobile is a ZK extension that enables ZK applications to run on mobile devices with little programming. With the event-driven components and a markup language, programming is as simple as programming desktops and designing screens is as easy as authoring HTML pages. No JavaME prerequisite is required.
AppFuse is an application for "kickstarting" Web application development. It allows you to execute a single ant task to create a skeleton application based on Struts, Spring, and Hibernate running on Tomcat and MySQL. It uses Ant, XDoclet, Spring, Hibernate (or iBATIS), JUnit, jMock, StrutsTestCase, Canoo's WebTest, Struts Menu, Display Tag Library, OSCache, JSTL, and Struts. (Spring MVC, WebWork, Tapestry and JSF are also options.)
Wicket Web Beans (WWB) is an Apache Wicket component toolkit for displaying and editing POJOs that conform to the JavaBeans specification. Web pages are automatically generated based on bean properties and certain conventions. If necessary, the layout, editability, and actions of these pages can be customized on an exception basis. In other words, the toolkit normally does what you'd expect, but when it doesn't, you can override its behavior.
GreenMail is a suite of email servers for testing purposes and sandbox development. It supports SMTP, POP3, and IMAP (including SSL) and can be embedded into any Java application or unit test. The GreenMail Service (SAR) extension runs as a JBoss embedded developer mail server sandbox, manageable via JMX.
IT Mill Toolkit is a server-side RIA (Rich Internet Application) library that provides a versatile set of AJAX widgets for Java programmers. Applications are programmed in Java and executed server-side. At the client-side (i.e. in the browser), enhanced GWT widgets are used for presentation.
Dozer is a powerful, yet simple Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types. Dozer supports simple property mapping, complex type mapping, bi-directional mapping, implicit-explicit mapping, as well as recursive mapping. This includes mapping collection attributes that also need mapping at the element level. It not only supports mapping between attribute names, but also conversion between types. Many conversion scenarios are supported out of the box, but custom conversions can be specified via XML.