myfaces-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Myfaces Wiki] Update of "Creating Composite Components" by SimonKitching
Date Tue, 29 Nov 2005 22:19:00 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Myfaces Wiki" for change notification.

The following page has been changed by SimonKitching:
http://wiki.apache.org/myfaces/Creating_Composite_Components

The comment on the change is:
Add information about using t:aliasBean and jsp:include

------------------------------------------------------------------------------
  
  === Tomahawk t:aliasBean and a jsp include ===
  
- Using a t:aliasBean and a jsp include is easy and requires only a dependency on t:aliasBean.
  There may be some issues with nesting t:aliasBean controls, however.  You're also limited
to passing a single backing bean parameter
+ Using a t:aliasBean and a jsp include is easy and requires only a dependency on t:aliasBean.
  There may be some issues with nesting t:aliasBean controls, however.
  
  {{{
  <t:aliasBean alias="#{localBackingBean}" value="#{thisInstanceBackingBean}">
@@ -55, +55 @@

  <!-- /pages/BooleanRelationshipDataTable.jsp -->
  <t:dataTable value="#{localBackingBean}" ... >
  }}} 
+ 
+ If you need to pass multiple variables to the included components, use t:aliasBeansScope
instead:
+ {{{
+ <t:aliasBeansScope>
+     <t:aliasBean alias="#{localBackingBean}" value="#{thisInstanceBackingBean}"/>
+     <t:aliasBean alias="#{aLiteralString}" value="literalValue"/>
+     <f:subview>
+         <jsp:include page="/pages/BooleanRelationshipDataTable.jsp"/>
+     </f:subview>
+ </t:aliasBean>
+ }}}
+ 
+ Note that the f:subview is recommended but not required. It ensures that any explicit component
ids in the included page won't conflict with
+ explicit component ids in the including page (because an f:subview is a NamingContainer).
However because JSF lacks support for the equivalent
+ of a filesystem ".." step, a component in a subview can never reference a component in an
ancestor naming container by id; components such
+ as t:dataScroller that have a "for" attribute must therefore ''not'' be nested within an
f:subview. When f:subview is used, it is safe to
+ include the referenced page multiple times from an including page; when omitting the subview,
this is only valid when ''all'' components
+ in the included page have automatically-assigned ids.
+ 
+ Note also that component binding is not supported via "aliased" names. Therefore the included
page cannot include any component with a
+ "binding" attribute.
  
  === facelets ui:include and ui:composition ===
  

Mime
View raw message