[jboss-user] [JBoss Seam] - Re: What is Gravel?

david.lloyd@jboss.com do-not-reply at jboss.com
Mon Jun 11 11:38:45 EDT 2007


Gravel is a supplementary JSF component/tag library for Facelets.  It should work with or without Seam (it was not designed for Seam specifically).  It does not provide widget-style components like RichFaces; instead it provides more basic "structural" and utility components.

For example, there is a tag to allow standard JSF action listeners to be run at response rendering time; there is a tag for grabbing request parameters and assigning them to EL expressions (with an optional converter); there are tags for access role checking, properties file handing, reading JSF messages into collections, session management, etc.

Also there is a set of tags that are "wrappers" around standard HTML tags, but provide the advantages of components: optional rendering using the standard rendered="", the option to render the content without the tag based on EL, JSF ID management (including handling ID lookup for HTML tags that take an ID as their argument), etc.

There are action listeners that provide data-management functions like sorting and filtering, and pager support.  Also there are components that are equivalent to h:dataTable and ui:repeat, but they evaluate at render-time, meaning that the state-saving and data visibility difficulties that plague these two components are eliminated.

Finally there is an (optional) alternative navigation handler that allows the developer to specify the navigation rules right in the XHTML, with the added benefit of being able to preserve JSF messages across redirects.  Also an (option) alternative view handler that preserves the original GET request parameters when looking up action URLs.

Gravel was conceived out of a set of components that were developed for the jBPM web console, but were not specific to jBPM.  I factored these components out and built on that.  My goal was to create a component library whose main goal was not yet another widget set (how many tab controls do you really need anyway?), but instead to provide a logical set of  components that are very basic functionality but yet are missing from the basic JSF component set.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4053161#4053161

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4053161



More information about the jboss-user mailing list