Hello Reza:
This is the way how i built our site http://www.dbgroups.com

1) An outer tabbed pane is a custom tabbedPane based on myfaces. It is custom since the renderer of components in each pane is complex.

2) An inner tabbed pane (not available for public yet, but it will be) in the display area is intended for either related resources from 1 unit and/or workflow that we can control the order of the selected tab. This inner tabbedPane is also a custom component based on a tabbedPane in JsfCore book.

We use 2 different approaches since in the prototype, we were able to make both work properly. I have not try both tabbedPanes from 1 approach. In our case, both outer and inner tabbedPanes must be custom, i guess it make no difference whether you use commandLink or commandButton for the tab.

Hope this may help.

BaTien
DBGROUPS


Reza B'Far (Voice Genesis) wrote:

Hey Folks:

I've spent three days on this and would really appreciate some help.
Basically, I can't get the MyJSF <x:pannelTabbedPane> to nest.  I've tried
all sorts of various combinations: including all the tabs in the same JSP
page, taking some and putting them in different pages and trying to use
includes, etc.

The one that gets me closest to a possible solution is putting everything on
the same page as posted at the end of this message.

When I nest two tabbed panes, the state bean seems to be getting messed up.
Snippet is at the bottom. I'm starting to conclude that I can't nest tabbed
panes... if this is correct, I'm dead in the water because their entire
application is a whole bunch of nested tabs controls.  If this doesn't work,
I'll have to use some other framework to get the nested tab functionality or
build my own (both of which are VERY undesirable)

I use two different state beans and yet there is only one state... I've also
tried using the same bean for everything, naturally, this is causing the
outter tab system to work, but the inner doesn't work.  Is this a known bug
or am I doing something wrong?.  Basically, I've tried all possible
combinations to try to come up with a brute force solution since I've found
no documentation on how to do this.

Thank you so very much in advance,
Reza B'Far

JSF code with MyFaces:
-----------------------
                 <f:view>
                   <x:saveState id="ss1" value="#{tabbedControlCenterBean}"
/>
                   <f:loadBundle
basename="org.apache.myfaces.examples.resource.example_messages"
var="example_messages"/>

                   <x:panelLayout id="page"
layout="#{globalOptions.pageLayout}"
                     styleClass="pageLayout"
                     headerClass="pageHeader"
                     navigationClass="pageNavigation"
                     bodyClass="pageBody"
                     footerClass="pageFooter" >

                     <f:facet name="body">

                       <h:panelGroup id="body">

                         <x:messages id="messageList" showSummary="true"
showDetail="true" summaryFormat="{0}:" />

                         <x:panelTabbedPane bgcolor="#FFFFCC" >

                           <x:panelTab id="tab6" label="Manage Your Web
Site" rendered="#{tabbedControlCenterBean.tab6Visible}">
                             <f:subview id="tab6_1"
rendered="#{tabbedControlCenterBean.tab6Visible}">
                               <x:saveState id="ss2"
value="#{tabbedSetupBean}" />
                               <f:verbatim>
                                 <h:panelGroup id="NestedTabGroup">
                                   <x:panelTabbedPane bgcolor="#FFFFCC">
                                     <x:panelTab id="tab1"
label="NestedTab1" rendered="#{tabbedSetupBean.tab1Visible}">
                                       <f:subview
rendered="#{tabbedSetupBean.tab1Visible}" id="tab1_1">
                                         <f:verbatim>
                                           <jsp:include flush="true"
page="test1.jsp"/>
                                         </f:verbatim>
                                       </f:subview>
                                     </x:panelTab >

                                     <x:panelTab id="tab2"
label="NestedTab2" rendered="#{tabbedSetupBean.tab2Visible}">
                                       <f:subview
rendered="#{tabbedSetupBean.tab2Visible}" id="tab2_1">
                                         <f:verbatim>
                                           <jsp:include flush="true"
page="test2.jsp"/>
                                         </f:verbatim>
                                       </f:subview>
                                     </x:panelTab >

                                     <x:panelTab id="tab3"
label="NestedTab3" rendered="#{tabbedSetupBean.tab3Visible}">
                                       <f:subview
rendered="#{tabbedSetupBean.tab3Visible}" id="tab3_1">
                                         <f:verbatim>
                                           <jsp:include flush="true"
page="test3.jsp"/>
                                         </f:verbatim>
                                       </f:subview>
                                     </x:panelTab >
                                     <x:panelTab id="tab4"
label="NestedTab4" rendered="#{tabbedSetupBean.tab4Visible}">
                                       <f:subview
rendered="#{tabbedSetupBean.tab4Visible}" id="tab4_1">
                                         <f:verbatim>
                                           <jsp:include flush="true"
page="test4.jsp"/>
                                         </f:verbatim>
                                       </f:subview>
                                     </x:panelTab >

                                   </x:panelTabbedPane>
                                 </h:panelGroup>
                               </f:verbatim>
                             </f:subview>
                           </x:panelTab >

                           <x:panelTab id="tab5"
label="AnotherHighLevelTab"
rendered="#{tabbedControlCenterBean.tab5Visible}" />

                         </x:panelTabbedPane>

                       </h:panelGroup>
                     </f:facet>
                   </x:panelLayout>
                 </f:view>
-------------------
some of the resulted HTML source:
....
</tr>
</table><input type="hidden" name="jsf_tree_64"
value="H4sIAAAAAAAAAJVSzW7TQBCeOE5JCwegwIUf5Ya4bJpKICQOtCoqjeQiRFqu7cTexots7
7I7bhwOlXgIDhx4A14CceAMR96Bd2A2jtIKJSAseTyene/bb77dz7+g5Sx0Yp0LVxbiBGPpREkqE
wdWygHZMqbSyhsnt5/d+XDcCSCMoB2nKkusLAhuRm/wFLse0N22FieRcvQkgtU4Q+deYC4Jrtc9G
RajLhOqYsQNK34ncgTrFxj20KX7aHg5UMlbOIOgMqxu3XfUouZ7VO9/3P34DT81odGH0Kl3sjIAE
IxDjmvOg8EQdLUdCTQYp1Lkk3q6uHTkx8VT6QhJisP+gPOBzxnSdK43x28sx2c40SWJPcqzl1jIL
Jr+s9xr53JnA7Uu/fzy9dbx9yYEu7CWaUx2MSZt+7BKqZUu1VlSmadb4J8r4zbHq/w2CMKhTia1m
mlsLZhxc5FGnRtd8AmJlPUJWdVC96VzOJKOUZfzOvdm/m2DebXx76rxsV17uFkR3PdOVOJPSYd9v
hh8DXZ0QagKaRmxQjh8dNRjUG+55dwzlIlht89tP8Ahw0MPvyDi3qz2kAkf/zch13zqOY5UssEcD
xZPMjV3jnxudWnM7NAYFBr2l7+dZTa8VnL8Smsy5jfB2NmEiAMAAA=="/><input
type="hidden" name="jsf_state_64"
value="H4sIAAAAAAAAALVVzW8bRRR//kjsuECTtEKlbcBSqkhw2KRIQagVAtu1EyN/RLFJKRW44
92pvWG9M8zOOutGqegFDlyQgANSEBw4lhN/AEI9IFUqEpW4lAtCSAgJuPJ1gJlde71O1oHwMdLOz
ozee/Pe7/3em5s/woTN4Njl0ibqIsVAZkupNjexys+/+fnz709bjxpRAIcCQNR+Ba6DHHF/lbQYz
LiaNtcNZRVZ7TKiE4l7n9568MoXMYgWIGUQpBWQygkrwhRvM2y1iaE59OlnXBP3bSXFPC2+CIcz0
pajXEUqtpQt3ESUKrnn1tfzlXpjo5i/2FivVuvy8kmHUupf7rqdJcTAyLyTZq9+ufvbT1GIvAATX
WTY2KERSyolgFIOqdV6udTIZmrFHIfTi7aFWUbr6OaiSkzOiJHDJsdM2bSk/elhcCWiIgNf/2Xmy
u7Srz/EIF6EZFsErBINlyChEluo9zjMulAuSp8Wa5zpZut8CZJya6MWln7cL8S7iOnI5O7WoX+Iw
QE4RLEpj446PsTRA1exQCrkKr4PVQia2pPpvnsf3d347vu57ZVBpkUiPOB8zYiAYiGYG5V0KDEFU
sIG4nhVZBSzGupidun2x0+9tXunHIVoCaZUA1lWBXUGcacsIaO5OqNI9UnniAQtENZSEEVqGyudn
ncfNpQN6VFWNzXhcrFDDQ4n57c5ajaxlgtmLitIsMMhZllnvVlenZTTFJXDDwpC8EwdAlkB08Mhf
C1kcvl6o5Ip52sCtWNDAmUYQ72SbnHnxt25dz9D78UgUoS4pV/DHuxbcekBh3iTaD1nLwVOeFdOG
qhHbB5IjVydltMjHE7Nb7cM0kRGlXKdmJZCBedKrobAJC53/d8QFQ4PhSDuKbkFM7Qx2K1iJPLN4
QG5qaCu3kLyOg5JeZAV7vcFC4SIlIzAHhEsPH45pOGc+OT32rcvf3Xbp+EQgD4m/6gABGbpsLZSL
a9VK7KxFC/UXNXHpOFBDo50sGXJuEW+xO0NXVtyJDldP/q/IIQzwStWGLFHYg4r3Ul/ddRfJf5GO
dNR56RYIejJqZBklj15i7oy/pTcM7n1IYM0hGGxGkq7p9tLO+f+2wqSxxf2gx8XZf2E91v2UJf4S
7GVYKRzIZHW3Yawhky874Eoiu7Qwmz2mw8+/PnG609GZfX1H4hBo3flKnanidlrN9+ZO/L2128M2
Ciac2K+IEYu58F0cHYPxdBRGPw+MClhaJwd1wmSDJuiCrE2phcsjG2PijS8oVt608A7fbil0otDd
OX0rEuG42VkCu6kLxGbpS/iZrqm88DLEBLxYdMtmvTjXo7HxCoXJDRKOTEfKbkzgu3+/3lFR/w6O
Qb92QH6Ncxt2n+UUp6f50TAUuza2KfpYM//jb/hOP4VW5ZH2bIslV4KY8tMXtO5x5U1Rq7qxpAq8
CfRtsjgbQoAAA=="/><input type="hidden" name="jsf_viewid"
value="/userAdmin/controlCenter.jsp"/></form></span></span></td>
</tr>
</table><input type="hidden" name="jsf_tree_64"
value="H4sIAAAAAAAAAJVSzW7TQBCeOE5JCwegwIUf5Ya4bJpKICQOtCoqjeQiRFqu7cTexots7
7I7bhwOlXgIDhx4A14CceAMR96Bd2A2jtIKJSAseTyene/bb77dz7+g5Sx0Yp0LVxbiBGPpREkqE
wdWygHZMqbSyhsnt5/d+XDcCSCMoB2nKkusLAhuRm/wFLse0N22FieRcvQkgtU4Q+deYC4Jrtc9G
RajLhOqYsQNK34ncgTrFxj20KX7aHg5UMlbOIOgMqxu3XfUouZ7VO9/3P34DT81odGH0Kl3sjIAE
IxDjmvOg8EQdLUdCTQYp1Lkk3q6uHTkx8VT6QhJisP+gPOBzxnSdK43x28sx2c40SWJPcqzl1jIL
Jr+s9xr53JnA7Uu/fzy9dbx9yYEu7CWaUx2MSZt+7BKqZUu1VlSmadb4J8r4zbHq/w2CMKhTia1m
mlsLZhxc5FGnRtd8AmJlPUJWdVC96VzOJKOUZfzOvdm/m2DebXx76rxsV17uFkR3PdOVOJPSYd9v
hh8DXZ0QagKaRmxQjh8dNRjUG+55dwzlIlht89tP8Ahw0MPvyDi3qz2kAkf/zch13zqOY5UssEcD
xZPMjV3jnxudWnM7NAYFBr2l7+dZTa8VnL8Smsy5jfB2NmEiAMAAA=="/><input
type="hidden" name="jsf_state_64"
value="H4sIAAAAAAAAALVVzW8bRRR//kjsuECTtEKlbcBSqkhw2KRIQagVAtu1EyN/RLFJKRW44
92pvWG9M8zOOutGqegFDlyQgANSEBw4lhN/AEI9IFUqEpW4lAtCSAgJuPJ1gJlde71O1oHwMdLOz
ozee/Pe7/3em5s/woTN4Njl0ibqIsVAZkupNjexys+/+fnz709bjxpRAIcCQNR+Ba6DHHF/lbQYz
LiaNtcNZRVZ7TKiE4l7n9568MoXMYgWIGUQpBWQygkrwhRvM2y1iaE59OlnXBP3bSXFPC2+CIcz0
pajXEUqtpQt3ESUKrnn1tfzlXpjo5i/2FivVuvy8kmHUupf7rqdJcTAyLyTZq9+ufvbT1GIvAATX
WTY2KERSyolgFIOqdV6udTIZmrFHIfTi7aFWUbr6OaiSkzOiJHDJsdM2bSk/elhcCWiIgNf/2Xmy
u7Srz/EIF6EZFsErBINlyChEluo9zjMulAuSp8Wa5zpZut8CZJya6MWln7cL8S7iOnI5O7WoX+Iw
QE4RLEpj446PsTRA1exQCrkKr4PVQia2pPpvnsf3d347vu57ZVBpkUiPOB8zYiAYiGYG5V0KDEFU
sIG4nhVZBSzGupidun2x0+9tXunHIVoCaZUA1lWBXUGcacsIaO5OqNI9UnniAQtENZSEEVqGyudn
ncfNpQN6VFWNzXhcrFDDQ4n57c5ajaxlgtmLitIsMMhZllnvVlenZTTFJXDDwpC8EwdAlkB08Mhf
C1kcvl6o5Ip52sCtWNDAmUYQ72SbnHnxt25dz9D78UgUoS4pV/DHuxbcekBh3iTaD1nLwVOeFdOG
qhHbB5IjVydltMjHE7Nb7cM0kRGlXKdmJZCBedKrobAJC53/d8QFQ4PhSDuKbkFM7Qx2K1iJPLN4
QG5qaCu3kLyOg5JeZAV7vcFC4SIlIzAHhEsPH45pOGc+OT32rcvf3Xbp+EQgD4m/6gABGbpsLZSL
a9VK7KxFC/UXNXHpOFBDo50sGXJuEW+xO0NXVtyJDldP/q/IIQzwStWGLFHYg4r3Ul/ddRfJf5GO
dNR56RYIejJqZBklj15i7oy/pTcM7n1IYM0hGGxGkq7p9tLO+f+2wqSxxf2gx8XZf2E91v2UJf4S
7GVYKRzIZHW3Yawhky874Eoiu7Qwmz2mw8+/PnG609GZfX1H4hBo3flKnanidlrN9+ZO/L2128M2
Ciac2K+IEYu58F0cHYPxdBRGPw+MClhaJwd1wmSDJuiCrE2phcsjG2PijS8oVt608A7fbil0otDd
OX0rEuG42VkCu6kLxGbpS/iZrqm88DLEBLxYdMtmvTjXo7HxCoXJDRKOTEfKbkzgu3+/3lFR/w6O
Qb92QH6Ncxt2n+UUp6f50TAUuza2KfpYM//jb/hOP4VW5ZH2bIslV4KY8tMXtO5x5U1Rq7qxpAq8
CfRtsjgbQoAAA=="/><input type="hidden" name="jsf_viewid"
value="/userAdmin/controlCenter.jsp"/></form></span></td></tr></table>








Reply via email to