Enter Java Web Parts (JWP).
JWP seeks to be a repository for lightweight components that can easily be dropped into a Java-based web application, regardless of what app server, framework or techniques you use.
Some of the things found in JWP include:
- AjaxTags - A taglib that allows you to easily add AJAX functionality to a page with no coding on your part, in a completely declarative fashion (read: it's all done via XML config file) and with very little change to your existing JSPs (in fact, no changes, just some very minor additions). It does thing in a cross-browser, framework-agnostic way.
- DependencyFilter - This is a hybrid IoC component... you'll have to check it out to see what "hybrid" means! It's not as powerful as Spring admittedly, but is excedingly simple to use and is again based on a declarative model... and you just might be surprised by the flexibility it does provide!
- Various other filters including: CompressionFilter, SessionLimiterFilter, RequestRecorderFilter, AppAvailabilityFilter, ParameterMungerFilter among others.
- Various servlets, including one that can dynamically render an image with specified font characteristics of a given string of text.
- Various utility functions for dealing with Request, Response and Session, including a function to calculate the current size of a Session or Context, and an HTML entity encoder function.
- Various taglibs, including one to perform many common string manipulation functions (and maybe some slightly less common ones too!)
JWP won't solve every problem for you (yet!), but our motto is "Providing the wheel, so you don't have to re-invent it," and that very much states the goal of the project. We truly believe you will find something useful in it among all the various parts.
JWP is still early in its development cycle (v.10 alpha), and the project as a whole uses the Apache License, v2.