You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Adriano Ferraro <ad...@gmail.com> on 2008/05/05 22:38:02 UTC

[TRINIDAD] Help with Concept of One Page Using Multiple Backing Beans

I have a problem that has proven to be a little difficult.

 I am interested in using the pannelTabbed component to provide views of forms.
 Also, I would like the forms to use the same "named" backing bean, but have the
 instance of that backing bean be different based on the tab selection.

 For example, tab1 corresponds to #{managedBean1},
                  tab2 corresponds to #{managedBean2},
                  tab3 corresponds to #{managedBean3}

 managedBean1 and managedBean3 extend Class BackingBeanA
 managedBean2 extends extends Class BackingBeanB

 ViewA.jspx relies on an instance of BackingBeanA
 ViewB.jspx relies on an instance of BackingBeanB


 tabbed.jspx
 <tr:panelTabbed id="panelTabbed1">
  <tr:showDetailItem text="Tab 1" id="item1">
    <f:subview id="v1">
     <jsp:include page="/viewA.jspx" flush="true"/>
    </f:subview>
   </tr:showDetailItem>
   <tr:showDetailItem text="Tab 2" id="item2">
    <f:subview id="v2">
     <jsp:include page="/viewB.jspx" flush="true"/>
    </f:subview>
  </tr:showDetailItem>
  <tr:showDetailItem text="Tab 3" id="item3">
   <f:subview id="v3">
    <jsp:include page="/viewA.jspx" flush="true"/>
   </f:subview>
  </tr:showDetailItem>
 </tr:panelTabbed>

 viewA.jspx
 <?xml version='1.0' encoding='windows-1252'?>
 <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
             version="2.0"
             xmlns:tr="http://myfaces.apache.org/trinidad"
             xmlns:f="http://java.sun.com/jsf/core">

        <tr:outputText value="#{someNamedBeanA.name}"
 binding="#{someNamedBeanA.outputText1}"/>
        <tr:outputText value="#{someNamedBeanA.nestedObjectA.dto.name}"
                             binding="#
 {someNamedBeanA.nestedObjectA.outputText1}"/>
 </jsp:root>

 viewB.jspx
 <?xml version='1.0' encoding='windows-1252'?>
 <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
             version="2.0"
             xmlns:tr="http://myfaces.apache.org/trinidad"
             xmlns:f="http://java.sun.com/jsf/core">

        <tr:outputText value="#{someNamedBeanB.nestedObjectB.dto.otherName}"
                             binding="#
 {someNamedBeanB.nestedObjectB.outputText1}"/>
 </jsp:root>


 I have tried the aliasBean from tomahawk, with the "hack" to get
 bindings to work, but the value binding
 someNamedBeanX.nestedObjectX.dto.name fails. I have tried facelets,
 and it seems to work for the most part.
 However, I discovered a bug in treeTable while using facelets: Setting
 the rowsByDepth property causes a
 ClassCastException. This sent a bad vibe my way, since we're working
 in a pretty serious production environment,
 and cannot afford "little" anomalies.


 Any help or ideas are much appreciated.

 Age