ICEfaces-EE Accessible Components


Standard Syntax:
     <%@ taglib prefix="ice-acc" uri="http://www.icesoft.com/icefaces/components/accessible" %>

XML Syntax:
     <anyxmlelement xmlns:ice-acc="http://www.icesoft.com/icefaces/components/accessible" />

No Description

Tag Library Information
Display NameICEfaces-EE Accessible Components
Version3.3.0
Short Nameice-acc
URIhttp://www.icesoft.com/icefaces/components/accessible
 

Tag Summary
outputLinkRender an HTML "a" anchor element. The value of the component is rendered as the value of the "href" attribute. Any child UIParameter components are appended to the String to be output as the value of the "href" attribute as query parameters before rendering. The entire "href" string must be passed through a call to the encodeResourceURL() method of the ExternalContext. The name of the UIParameter goes on the left hand side, and the value of the UIParameter on the right hand side. The name and the value must be URLEncoded. Each UIParameter instance is separated by an ampersand, as dictated in the URL spec. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute.
outputTextIf the "styleClass" or "style" attributes are present, render a "span" element. If the "styleClass" attribute is present, render its value as the value of the "class" attribute. If the "style" attribute is present, pass it thru. If the "escape" attribute is not present, or it is present and its value is "true" all angle brackets should be converted to the ampersand xx semicolon syntax when rendering the value of the "value" attribute as the value of the component. If the "escape" attribute is present and is "false" the value of the component should be rendered as text without escaping.
selectBooleanCheckbox

Renders an HTML "input" element of type "checkbox".

Decode Behavior

    Obtain the Map from the "requestParameterMap" property of the ExternalContext. If there is no entry in the Map for the "clientId" of this component, pass "false" to the setSubmittedValue() method of the component, which must be an instance of EditableValueHolder. If there is an entry, and its value is equal, ignoring case and without quotes, to any of the Strings: "on", "yes" or "true" pass true to the setSubmittedValue() method of the component.

Encode Behavior

    Render the clientId of the component as the value of the "name" attribute. If the current value of the component is "true", output the "checked" attribute. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute.

selectOneMenu

Render an HTML option list.

Decode Behavior

Encode Behavior

    Render an HTML "select" element. Render the clientId of the component as the value of the "name" attribute. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute on the "select" element. If the component to be rendered is a UISelectMany, render "true" as the value of the "multiple" attribute. Use the number of items as the value of the "size" attribute. See the "Rendering the option elements" specification for ListboxRenderer for more detail on how to render the "option" elements in this renderer.

selectOneRadio

Render a set of html "input" elements of type "radio".

Decode Behavior

Encode Behavior

    Render a "table" element. If the "styleClass" is specified, render the value of the "styleClass" attribute as the value of the "class" attribute on the "table" element. If the "style", "border" attributes are specified, pass them thru. If the "layout" attribute is specified, and its value is "spread", let the radio tag do the rendering. If the "layout" attribute is specified, and its value is "pageDirection", render the children elements vertically, otherwise horizontally, in the table. If any of the children are an instance of SelectItemGroup, render them as a nested table. Render a "label" element. Each of the children are ultimately rendered as an "input" element of "type" "radio". As an exception to the general rules about how to handle the "id" attribute, render it as an attribute on the outer "table" element, the value of which is the clientId of the component per the rules at the beginning of this specification. The "id" attribute must not be output on each "input" element. Output the value of the "label" attribute of the SelectItem after the "input" element. If the value of the currently rendered child is equal to the value of the parent UISelectOne, render an appropriate HTML boolean value indicating "checked" for the enclosing "input". If the current SelectItem.isDisabled() returns true, render "disabled" as the value of the "disabled" attribute. See the "Rendering the option elements" specification for ListboxRenderer for more detail on how to render the "option" elements in this renderer. Close out the "label" element.

outputStyle

The outputStyle component is used to link the desired ICEfaces theme CSS stylesheets into the page to style the ICEfaces Component Suite components.

Inserting the outputStyle component into the HEAD region of a page will link both the default CSS stylesheet for the theme and optionally an additional stylesheet that alters the default styles to accommodate differences in CSS rendering in various user-agents/browsers.

The additional style sheet will have a different extension for each browser.

  • Internet Explorer < 7 = _ie.css
  • Internet Explorer 7 = _ie7.css
  • Internet Explorer 8 = _ie8.css
  • Safari = _safari.css
  • Sun Studio Creator = _dt.css

This extension replaces the .css value of the href attribute. So when href is 'xp.css' and the page is rendered in Internet Explorer 6 or less, an additional style sheet will be included called 'xp_ie.css'.

dataPaginator

The dataPaginator component is used in conjunction with a dataTable. The dataPaginator may be used to render a set of page navigation facets and access attributes of the underlying DataModel specified in the associated dataTable. Using the dataPaginator, a dataTable containing a large DataModel can be viewed as multiple "pages" of table rows instead of as one large table.
The dataPaginator component can be used to provide a more manageable, performant view into a large DataModel.

commandButton

Renders an HTML "input" element.

Decode Behavior

    Obtain the Map from the "requestParameterMap" property of the ExternalContext. If the value in the Map for the value of the "clientId" property of the component is null, create a String by concatenating the value of the "clientId" property of the component with the String ".x" (without the quotes). Create another String in the same manner, but concatenate ".y" (without the quotes). If null is the value in the Map for both Strings, return from decode(). If the value in the Map for the value of the "clientId" property of the component is not null, get the value of the "type" attribute, and convert it to lower case. If the result is equal to the String "reset" (without the quotes), return from decode(). Otherwise, create a javax.faces.event.ActionEvent around the component, and pass it to the queueEvent() method of the component, which must be an instance of UICommand.

Encode Behavior

    Render the clientId of the component as the value of the "name" attribute. Render the current value of the component as the value of the "value" attribute. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute.

commandLink

Render an HTML "a" anchor element that acts like a form submit button when clicked.

General Behaviour

Both the encode and decode behavior require the ability to get the id/name for a hidden field whose value is set by the JavaScript form submit. This name must be constructed as follows:

  • Get the clientId for the form of which this component is a child.

  • Append NamingContainer.SEPARATOR_CHAR.

  • Append a constant string that is the same for all command link components in the tree.

In the following text, this String is called hiddenFieldName.

Decode Behavior

    Obtain the "clientId" property of the component. Obtain the Map from the "requestParameterMap" property of the ExternalContext. Derive hiddenFieldName as above. Get the entry in the Map under the key that is the hiddenFieldName. If the there is no entry, or the entry is the empty String, or the entry is not equal to the value of the "clientId" property, return immediately. If there is an entry, and its value is equal to the value of the "clientId" property, create a new javax.faces.event.ActionEvent instance around the component and call queueActionEvent() on the component, passing the event.

Encode Behavior

    Render "#" as the value of the "href" attribute. Render the current value of the component as the link text if it is specified. Render javascript that is functionally equivalent to the following as the value of the "onclick" attribute:

    document.forms['CLIENT_ID']['hiddenFieldName'].value='CLIENT_ID'; document.forms['CLIENT_ID']['PARAM1_NAME'].value='PARAM1_VALUE'; document.forms['CLIENT_ID']['PARAM2_NAME'].value='PARAM2_VALUE'; return false;

    document.forms['CLIENT_ID'].submit()" where hiddenFieldName is as described above, CLIENT_ID is the clientId of the UICommand component, PARAM*_NAME and PARAM*_VALUE are the names and values, respectively, of any nested UIParameter children. The name and the value must be URLEncoded. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute. Render any non-UIParameter children as normal inside of the "a" element. These will appear as the link text. Allow the form renderer to output a single "input" element (for the entire page, regardless of how many command link components are in the page) of "type" "hidden" whose "name" is the value of hiddenFieldName, and which must not have a "value" attribute. Multiple occurrences of command link components in the tree should not cause multiple hiddenFieldName hidden fields. Allow the form renderer to output an "input" element of "type" "hidden" for each of the nested UIParameter children, taking the name property (but not the value) from each one in turn.

dataTable

Renders an HTML "table" element compliant with the HTML 401 specification. Please consult the javadoc for UIData to supplement this specification. If the "styleClass" attribute is specified, render its value as the value of the "class" attribute on the "table" element. Any pass-through attributes are also rendered on the "table" element.

Rendering the header

    If the UIData component has a "header" facet, or any of the child UIColumn components has a "header" facet, render a "thead" element. If the UIData component has a "header" facet, encode its contents inside of "tr" and "th" elements, respectively. Output the value of the "headerClass" attribute of the UIData component, if present, as the value of the "class" attribute on the "th". Output the number of child UIColumn components of the UIData component as the value of the "colspan" attribute on the "th". Output "colgroup" as the value of the "scope" attribute on the "th" element.

    If any of the child UIColumn components has a "header" facet render a "tr" element. For each UIColumn that actually has a "header" facet, render it inside of a "th" element. Columns that don't have a "header" facet cause an empty "th" element to be rendered. Output the value of the "headerClass" attribute of the UIData component, if present, as the value of the "class" attribute on the "th". Output "col" as the value of the "colgroup" attribute on the "th" element.

    Close out the "thead" element.

Rendering the footer

    Follow the same process as for the header, except replace "header" with "footer", "th" with "td", "thead" with "tfoot", and "headerClass" with "footerClass". Do not render any "scope" attribute for the footer.

Rendering the table body

    Render a "tbody" element. Keep track of the result of the "rows" property on the UIData component. Keep track of the number of rows we have rendered so far. Iterate through the rows. Set the "rowIndex" property of the UIData component to be correct as we iterate through the rows. Stop rendering children and close out the "tbody" element if the "rowAvailable" property of the UIData returned false. Output a "tr" element. Output the value of the "rowClasses" per the attribute description below. For each UIColumn child, output a "td" element, attaching the value of the "columnClasses" attribute of the UIData component per the attribute description below. Recursively encode each child of each UIColumn child. Close out the "td" element. When done with the row, close out the "tr" element. When done with all the rows, close out the "tbody" element.

When done rendering all the rows, set the "rowIndex" property of the UIData to -1, and close out the "table" element.

outputResource

The outputResource component can be used to expose resources to the page. These resources can be rendered as links that trigger the browser to open the resource as an attachment, or open directly from the current page. Any class that implements the com.icesoft.faces.context.Resource can be used to expose the resource.

panelCollapsible

The panelCollapsible component is comprised of two parts: the content area, where its children can be displayed; and a header section, which can be clicked on, to cause the content area to collapse into not being visible, or expand to become visible. The panelCollapsible's state of being expanded or collapsed is fully controllable via its expanded attribute, which can be tied to a bean property through a ValueBinding.

panelConfirmation

This component renders a popup confirmation dialog asking the user whether to cancel or continue with the operation that was requested. This dialog will be displayed immediately after the event that triggered the operation (e.g. click, Enter-key press, etc.) while preventing the application from carrying out the requested operation until it is confirmed by the user.

panelPopup

The panelPopup is a container component that renders a window or panel that hovers on top of a web page. The popupPanel contains 2 regions which are defined using facets. The facet names are; header and body.
The panelPopup component can be used to provide a general popup window behavior such as moveable/dragable, resizeable and modal
Note: A panelPopup facet needs a container type component as a child (e.g., panelGroup or panelGrid). panelGroup renders a span tag, which doesn't work properly if using Mozilla. panelGrid can be used to avoid display problems.

panelTab

Renders an individual Panel Tab. Must be contained within a TabbedPane.
The label facet can be defined to the tab (e.g.)

 <ice:panelTab> <f:facet name="label"> <ice:panelGroup> <ice:outputText value="Tab 1"/> </ice:panelGroup> </f:facet> <ice:outputText value="Contents"/> </ice:panelTab> 
panelTabSet

The panelTabSet is a container component which itself contains one or more panelTab components, which are also container components. The panelTabSet component displays the "active" panelTab, hiding the contents of the others. Users can select which panelTab to make visible by clicking on the tab header of the panelTab that they want to display.
The panelTabSet component can be used in cases where a file-tab navigation interface is appropriate.

outputProgress

The outputProgress component can be used to report progress to users in cases where a long running server-side task is necessary. This component can be run in either of two modes; "determinate" and "indeterminate".

Determinate mode should be used in cases where the number of steps or units of work in a long-running process are known. In determinate mode (default) the outputProgress component renders a progress bar that indicates the completion percentage for a task. Typically, the progress bar will gradually progress from 0 to 100 % complete in incremental steps determined by the application.

Indeterminate mode should be used in cases when it is not possible to predicate how long a long-running process will take to complete, or how many steps or units of work are required to complete the task. In indeterminate mode the outputProgress component renders an animated icon or progress bar that indicates generally that activity is taking place.

selectInputDate

The selectInputDate component renders a localized dateSelect. Users may select a date by clicking on a date in the displayed month. The displayed month and year can be changed using arrow buttons or dropdown lists. Optionally, the selectInputDate component may be used in popup mode. In this mode an inputText component is rendered that displays the selected date. Users may enter a date directly into the inputText component, or optionally click a button beside the inputText component to display a popup dateSelect view. Selecting a date in the dateSelect closes the popup dateSelect view and updates the selected date.
The selectInputDate component can be used in cases where a date value must be displayed or entered.

In order to highlight a day, following three attributes need to be set with corresponding values:

  1. highlightClass
  2. highlightUnit
  3. highlightValue
(e.g.) <ice:selectInputDate highlighClass="newyear" highlightUnit="DAY_OF_YEAR" highlightValue="1" />

To highlighting days in more granular fashion, above attributes can be set to defining more then one rules by separating them with : colon (e.g.)
<ice:selectInputDate highlighClass="newyear: weekend" highlightUnit="DAY_OF_YEAR: DAY_OF_WEEK" highlightValue="1: 7" />

A rule can be set to defining more then one values using comma "," (e.g.)
<ice:selectInputDate highlighClass="newyear: weekend" highlightUnit="DAY_OF_YEAR: DAY_OF_WEEK" highlightValue="1: 1, 7" />

NOTE: all 3 highlight attributes should have a corresponding values.
The action and actionListener will only be fired, when "enter" being pressed on a input text in a popup mode.

Time Entry: When the f:convertDateTime is configured to show time, the calendar will include a time editing UI.
commandSortHeader

The commandSortHeader component is used in conjunction with a dataTable. The commandSortHeader renders a clickable column header facet allowing the user to toggle the sort order of data in the table, either ascending or descending based on the values in the column.
The commandSortHeader can be used to provide a user-controlled data sorting capability to a dataTable.

tabChangeListenerNo Description
 


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