Overview | Library | Tag | Help
| FRAMES NO FRAMES

## ICEfaces-EE ACE Components
Tag tabSet

The TabSet component is a container for its TabPane children, each of which may contain any arbitrary components. Only one TabPane component is currently active, and its contents shown, at any given time. The TabSet may operate in a server-side mode, where only the current TabPane's contents exist in the browser; or in client-side mode, where every TabPane's contents exist in the browser, and no server round-trip is necessary to change TabPanes. The entire TabSet may exist within a single parent form, so that validation will apply to all of its contents, and so that validation may enforce remaining on the current TabPane if the user attempts to change the selected TabPane while other input components are in an invalid state. Also, a TabSet may exist outside of any form, perhaps with each TabPane containing their own child form, so that validation may be more limited in scope. In this case, a TabSetProxy may be used, in conjunction with the TabSet, so that the TabSetProxy may be placed in a form, for communicating with the server, removing the need for the TabSet itself to be in a form. When changing the selected TabPane, the TabSet may use application configurable animations to accentuate the transition from the previously selected TabPane to the newly selected TabPane. The label portion of the TabPanes may be shown on the bottom, top, left, or right of the TabSet. To support the capability of dynamically adding and removing TabPane(s) without updating the entire TabSet, there is a side-effect where any iframe(s) within them can get loaded twice in rapid succession, when first shown or subsequently updated. To eliminate the redundant load by deferring the loading until the TabSet is ready, do not use a src attribute on the iframe(s), but rather set the org.icefaces.ace.component.tabset.deferred_src attribute to what src would have been.

For more information, see the TabSet Wiki Documentation.

Client Events
Name | Description | Supported classes for argument
clientSideTabChange | Fired when the tabSet has clientSide=true, and a tab change occurs. Use onstart="return false;" to limit javascript execution. | javax.faces.event.AjaxBehaviorEvent
serverSideTabChange | Fired when the tabSet has clientSide=false, and a tab change occurs (default event). | javax.faces.event.AjaxBehaviorEvent

Client events can be used with Client Behaviors and the ace:ajax tag.

Tag Information
Tag Class | org.icefaces.ace.component.tabset.TabSetTag
TagExtraInfo Class | None
Body Content | JSP
Display Name | None

Attributes
Name | Required | Request-time | Type | Description
binding | no | true | `javax.el.ValueExpression` | Using an EL expression, bind the component reference to a bean property, so that the component may be accessed in the bean.
cancelOnInvalid | no | true | `boolean` | Controls how input component validation affects changing the selected TabPane. When false, then irrespective of immediate, selectedIndex will be set and tabChangeListener will be invoked in APPLY_REQUEST_VALUES phase. PROCESS_VALIDATIONS phase will still execute and create any FacesMessage(s), but won't interfere with the changing TabPane selection. Otherwise, when true, then it depends on immediate. When immediate is true, selectedIndex will be set and tabChangeListener will be invoked in APPLY_REQUEST_VALUES phase, but PROCESS_VALIDATIONS phase will not execute, so no FacesMessage(s) can be created. When immediate is false, then selectedIndex will be set in UPDATE_MODEL and tabChangeListener will be invoked in INVOKE_APPLICATION, and so any validation error in PROCESS_VALIDATIONS will stop the changing of the selected TabPane. Default = 'true'.
clientSide | no | true | `boolean` | This component supports both client and server side tab change models. When clientSide is true, then the contents of all TabPanes get rendered on the client and clientSideTabChange will fire when changing the selected TabPane. Otherwise, in server side mode, typically only the selected TabPane contents will get rendered to the client, depending on the TabPane cache property, and serverSideTabChange will fire or the form will be submitted, so that the tabChangeListener will be invoked, and the newly selected TabPane contents may be sent to the browser. Default = 'false'.
disabled | no | true | `boolean` | If true then all tabs except the active one will be disabled and can not be selected.
id | no | true | `java.lang.String` | The component identifier for this component. This value must be unique within the closest parent component that is a naming container.
immediate | no | true | `boolean` | If true (and/or cancelOnInvalid is false) then tabChangeListener will be invoked in APPLY_REQUEST_VALUES phase, otherwise INVOKE_APPLICATION phase. Default = 'false'.
orientation | no | true | `java.lang.String` | Where the clickable TabPane labels are shown. Valid values are bottom, top, left and right. Default = 'top'.
rendered | no | true | `boolean` | Return true if this component (and its children) should be rendered during the Render Response phase of the request processing lifecycle. Default = 'true'.
selectedIndex | no | true | `int` | The index of the current selected tab. Default = '0'.
showEffect | no | true | `java.lang.String` | The effect when showing the contents of a tab after selecting it.
showEffectLength | no | true | `int` | The duration of the show effect in milliseconds. The default value varies depending on the effect.
style | no | true | `java.lang.String` | Custom inline CSS styles to use for this component. These styles are generally applied to the root DOM element of the component. This is intended for per-component basic style customizations. Note that due to browser CSS precedence rules, CSS rendered on a DOM element will take precedence over the external stylesheets used to provide the ThemeRoller theme on this component. If the CSS properties applied with this attribute do not affect the DOM element you want to style, you may need to create a custom theme styleClass for the theme CSS class that targets the particular DOM elements you wish to customize.
styleClass | no | true | `java.lang.String` | Custom CSS style class(es) to use for this component. These style classes can be defined in your page or in a theme CSS file.
tabChangeListener | no | true | `javax.el.MethodExpression` | MethodExpression representing a method that will be invoked when the selected TabPane has changed. The expression must evaluate to a public method that takes a ValueChangeEvent parameter, with a return type of void.

Variables
| No Variables Defined.

Overview | Library | Tag | Help
| FRAMES NO FRAMES

Output Generated by Tag Library Documentation Generator. Java, JSP, and JavaServer Pages are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries. Copyright 2002-4 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054, U.S.A. All Rights Reserved.