Hello,

This issue seems to still be a problem.  I am using myfaces-20051221 and
get the following error when I use the serverSideTabSwitch:


SEVERE: Error Rendering View
java.lang.ClassCastException: java.lang.String
        at
org.apache.myfaces.custom.tabbedpane.HtmlPanelTabbedPane.isClientSide(HtmlPanelTabbedPane.java:142)
        at
org.apache.myfaces.custom.tabbedpane.HtmlTabbedPaneRenderer.encodeEnd(HtmlTabbedPaneRenderer.java:91)
        at
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536)

Here is my xhtml file:

        <t:panelTabbedPane
                binding="#{TabSupport.tabbedPanel}" 
                serverSideTabSwitch="true">

TabSupport.java adds the listener:

public class TabSupport implements Serializable, TabChangeListener {

        private static final long serialVersionUID = 1L;
        private static final Log log = LogFactory.getLog(TabSupport.class);
        private int selectedIndex = 0;
        
        public int getSelectedIndex() {
                return selectedIndex;
        }
        public void setSelectedIndex(int selectedIndex) {
                this.selectedIndex = selectedIndex;
        }
        public HtmlPanelTabbedPane getTabbedPanel(){
                
                HtmlPanelTabbedPane pane = new HtmlPanelTabbedPane();
                pane.setSelectedIndex(getSelectedIndex());
                pane.addTabChangeListener(this);
                return pane;
        }
        
        //Listener for tab change events.
        public void processTabChange(TabChangeEvent event) throws
AbortProcessingException {
                if(log.isInfoEnabled())
                        log.info("Handling event for "+event.getComponent()+" 
setting the
selected index to "+event.getNewTabIndex());
                setSelectedIndex(event.getNewTabIndex());
        }

----------------------------------------------------------------------------

The source shows a cast to (Boolean) is that possible?  Should be String
right?  Anyway is tabbed pane and Listeners ready to be used? Or is it
still too early?

        

Reply via email to