struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Shale subview component XML composition extension
Date Sat, 26 Feb 2005 17:48:21 GMT
I would like to start a discussion on a Shale subview component extension.

Currently, The shale subview jsf component provides a post-back method to the prerender method
on the ViewController.  The id attribute of the component is assumed as the managed bean name.
 This method would be very useful for staging data for the subview and promoting reuse.  

The extension would add the following features:

*  Fragments of a page could be created using a XML definition and the same node structure
would cover all components making it very abstract.  A top-level component could be represented
by a displayElement node and associated to the logical name of the JSF component using a componentType

*  The describing documents could be digested at application startup and all inheritance resolved
at startup.  Checks for circular references would be applied.  

*  Like tiles, the metadata defining the subcomponent tree would support generalization inheritances
and also composition inheritance.  Top-level displayElement definitions can extend other top-level
dislpayElements.  Composition is formed using the element node that includes and overrides
attributes of the target top-level node.  

*  It would also allow a token replacement feature of the binding EL so that the metadata
describing the construction of a subcomponent tree could be reused on multiple managed bean
names.  Featured with the Shale life cycle methods on the ViewController, would provide many
more reusable view compositions.

This composition technique could be used in conjunction with other methods too.  A sample
application can be downloaded from the tracking system.  I removed the libraries to make the
upload possible.  The example uses the myfaces JSF implementation and the Shale library.

   Gary VanMatre
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message