Shept provides a tiny add-on to spring-mvc for form-based web applications that allow extendible forms. Instead of writing complete forms with a fixed job you'll write snippets that compose to forms and that can be rearranged in a simple fashion.
Shept focuses on Data-grids as a default form element for all create-read-update-delete form operations within the same form that allows an almost code-free initial fully functional protoype of your web application.
In particular you don't need to create different forms for viewing / paging and editing / creating entities - it all happens in one step.
Shept incorporates ideas from '4GL' frameworks that were popular in the late 90's and that got a reputation for building enterprise applications in a rapid prototyping fashion.
Read more in the Feature documentation
Look at the Online examples
Shept-core is also available from the Maven repositories.
Shept implementation basics
Shept is deeply integrated with spring-mvc and hibernate / hibernate-annotations.
- The SheptController supports a notion of springs 'formbackingObject' that's actually an array of objects where each index represents a segment of the page
- A couple of Handlers to support page segment actions (paging, sorting, filtering, create-update-save transactions, ...)
- A layered architecture of PageableList MultiChoice and Refreshable along with their default implementations for datagrid-handling: PageListHolder ChoiceListHolder FilteredListHolder as default 'indexed backingObjects'
- A set of view templates (jsp- tagx- templates) designed to use springs 'spring' and 'form' tag libraries with the provided form elements
- Default stylesheets illustrated by silk icons
- A set of utility classes and default configurations
Follow the Getting started documentation
Shept has been developed in a couple of web projects since 2008. While early versions of shept were deeply integrated with those custom projects shept has been made available in early 2011 as a separate library under Apache 2 licence.
Shept is short for
While Eclipse, Postgres and Tomcat are not mandatory parts we are referring to those environments in the documentation and the examples.