Hi
 
I m trying to use the panel tabbed pane with the serversidetabswitch = true. Therefore I have declared a tab change listener with the following source code
 

public class TabSupport implements Serializable, TabChangeListener
{
 private static final long serialVersionUID = 1L;
 int selectedTabIndex;
 
 public TabSupport()
 {
 }
 public int getSelectedTabIndex() {
  //System.out.println(" Property getSelectedTabIndex() accessed " + selectedTabIndex);
  return selectedTabIndex;
 }
 public void setSelectedTabIndex(int selectedTabIndex) {
  //System.out.println(" Property setSelectedTabIndex() accessed");
  this.selectedTabIndex = selectedTabIndex;
 }

 public void processTabChange(TabChangeEvent event){
  System.out.println("TabSupport:processTabChange() called " + event.getNewTabIndex() + " " + event.getPhaseId());
  this.selectedTabIndex = event.getNewTabIndex();
 }
}

When I change the tab the listener is invoked which sets selectedTabIndex value accordingly and I can see this through the system message. But in the generated html the selected tab content doesnt show meaning selectedTabIndex is still 0. It hasnt been assigned to the new value or has been overwritten. TabSupport is in the session scope. Following is my jsp code

<!

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<%@

page contentType="text/html;charset=UTF-8" language="java" %>

<%@

taglib prefix="c" uri ="http://java.sun.com/jstl/core" %>

<%@

taglib prefix="f" uri ="http://java.sun.com/jsf/core" %>

<%@

taglib prefix="h" uri ="http://java.sun.com/jsf/html" %>

<%@

taglib uri="http://myfaces.apache.org/tomahawk " prefix="t"%>

 

<

f:view>

<f:loadBundle basename="com.prytania.resource.Messages " var="messages"/>

<html>

<head>

<title><h:outputText value="#{messages['title']}"/></ title>

<t:stylesheet path="/report.css" />

</head>

<body>

<h:form id="portfolioFatherForm" >

<f:subview id="header" >

<jsp:include page="inc/page_header.jsp" />

</f:subview>

<f:verbatim>

<br/>

</f:verbatim>

<t:panelTabbedPane

selectedIndex="#{tabSupport.selectedTabIndex}"

styleClass="tabbedPane"

width="100%"

bgcolor="#FFFFCC"

activeTabStyleClass="activeTab"

inactiveTabStyleClass="inactiveTab"

activeSubStyleClass="activeSub"

inactiveSubStyleClass="inactiveSub"

tabContentStyleClass="tabContent"

serverSideTabSwitch="true"

>

<t:panelTab label=" #{messages['portfolio_summary']}" >

<f:subview id="tabportfoliosummary" rendered="#{(tabSupport.selectedTabIndex==0)}" >

<jsp:include page="portfoliosummary.jsp " />

</f:subview>

</t:panelTab>

<t:panelTab label=" #{messages['portfolio_detail']}">

<f:subview id="tabportfoliodetail" rendered="#{(tabSupport.selectedTabIndex==1)}" >

<jsp:include page="portfoliodetail.jsp " />

</f:subview>

</t:panelTab>

<t:panelTab label=" #{messages['portfolio_statistics']}">

<f:subview id="tabportfoliostatistics" rendered="#{(tabSupport.selectedTabIndex==2)}" >

<jsp:include page="portfoliostatistics.jsp " />

</f:subview>

</t:panelTab>

<t:tabChangeListener type="com.prytania.listeners.TabSupport " />

</t:panelTabbedPane>

<f:subview id="footer" >

<jsp:include page="inc/page_footer.jsp" />

</f:subview>

</h:form>

</body>

<html>

</

f:view>

 

I shall be highly obliged with any responses.

Hassnain

Reply via email to