Software‎ > ‎


BeanView is an open source Java library – a system for seamlessly rendering a JavaBean to a form and back.

In technical terms, it relies on the information obtained from reflection of the JavaBean to generate forms and update the beans from these forms – so, if you create a JavaBean with a method get/setFirstName(String in), BeanView will automatically generate the form with a textfield to enter a “First Name”. Supported features include:

  • Per visual widget error reporting
  • Support for validation (both a variety of built-in validation types and an easy customization system)
  • Support for a wide range of built-in data types
  • Support for complex data models, such a mapping a collection to multiple selection list box
  • Automatic configuration based on JavaBean meta-data (for example, if a JavaBean declares a get/setFoo(int input) method, will by default generate a text field with integer validation.

The goal is to improve productivity from prototype to deployment when building applications. At the early stage, a working app can be built from a JavaBean based model – the forms and display of your application can be updated by merely updating your code. As the funtionality is locked down, incremental changes to the system can be made in as painless a fashion as possible.

In addition to prototyping, BeanView can also ease validation. For example, if your model defines a property to be, say, an int, then the user must obviously enter an int in the text field. When BeanView gets a form, it will validate the entire form against both the properties and your validators (for example, a text field should be an email address, or a minimum of three characters but no more than six, or whatever). If there are errors, BeanView will automatically display the error next to the appropriate component[s].

BeanView is smart enough to help you deal custom object properties and array properties. For example, let’s say that you have a class Cat that has a property motherCat. You can pass in an array of possible cats, and BeanView is smart enough to figure out which possible cat is your cat’s current mother, and stitch the whole thing together into a popup. You could even have an array of childrenCats, with a multiselect.

BeanView can be used with both desktop applications (via Swing) and web applications (via Echo 2.0). It is designed to be easy to extend support for additional UI frameworks.

BeanView 1.1.2 is the current release. The main feature change for 1.1 is a complete rework to use Maven 2, dramatically simplifying the build system. 1.1.2 includes minor changes to the documentation and examples (including a Naked Objects example prototype). The ZIP archive below includes all BeanView source, the required Echo 2 distribution, and pre-built binaries & WARs – just add Java 5 and Tomcat 5.5).

To access the source visit the BeanView Java.Net Project (CVS access).

If linking to BeanView, please link to - thanks!

Will Iverson,
Oct 16, 2009, 7:06 PM
Will Iverson,
Oct 16, 2009, 7:06 PM
Will Iverson,
Oct 16, 2009, 7:00 PM