Developing Web 2.0 applications
with JavaServerFaces
and Dreamweaver
>> Just Became Easier
Documentation
Search
  1. Introduction
  2. Getting Started
  3. Developing Web Sites
  4. Using Components
  5. Internationalization
  6. Code View Support
  7. Design View Support
  8. Keyboard Shortcuts
  9. Tag Object Toolbars
  10. JSF Server Behaviors
  11. Property Inspectors
  12. JSF Tag Reference
JSF HTML Tag Library
  h:body
  h:button
  h:column
  h:commandButton
  h:commandLink
Selected h:dataTable
  h:form
  h:graphicImage
  h:head
  h:inputHidden
  h:inputSecret
  h:inputText
  h:inputTextarea
  h:link
  h:message
  h:messages
  h:outputFormat
  h:outputLabel
  h:outputLink
  h:outputScript
  h:outputStylesheet
  h:outputText
  h:panelGrid
  h:panelGroup
  h:selectBooleanCheckbox
  h:selectManyCheckbox
  h:selectManyListbox
  h:selectManyMenu
  h:selectOneListbox
  h:selectOneMenu
  h:selectOneRadio
If you like this documentation, please take a look at my book:

12. JSF HTML Tag Reference

Documentation > JSF > JSF Tag Reference > JSF HTML Tag Library > h:dataTable

h:dataTable

The dataTable tag renders an HTML4 compliant table element that can be associated with a backing bean to obtain its data as well as for event handling purposes. The table can be customized extensively using cascading stylesheet (CSS) classes and definitions to enhance the appearance of the table's headers, footers, columns and rows. Common formatting techniques, such as alternating row colors, can be accomplished quite easily with this tag. The dataTable tag typically contains one or more column tags that define the columns of the table. A column component is rendered as a single "td" element. For more information about columns, see the column tag documentation. A dataTable tag can also contain header and footer facets. These are rendered as a single "th" element in a row at the top of the table and as a single "td" element in a row at the bottom of the table, respectively.

JSF Example

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:f="http://java.sun.com/jsf/core">
<h:head/>
<body>
<h:dataTable id="table1" value="#{shoppingCartBean.items}" var="item" 
             border="1">
	<f:facet name="header">
		<h:outputText value="Your Shopping Cart" />
	</f:facet>
	<h:column>
		<f:facet name="header">
			<h:outputText value="Item Description" />
		</f:facet>
		<h:outputText value="#{item.description}" />
	</h:column>
	<h:column>
		<f:facet name="header">
			<h:outputText value="Price" />
		</f:facet>
		<h:outputText value="#{item.price}" />
	</h:column>
	<f:facet name="footer">
		<h:outputText value="Total: #{shoppingCartBean.total}" />
	</f:facet>
</h:dataTable>
</body>
</html>
This example was formatted by JSFToolbox for Dreamweaver.

Rendered Output

Rendered h:dataTable tag

Tag Attributes

bgcolor Text
 
The bgcolor attribute sets the background color for the table. This value can be the name or the hexadecimal value of the color.
binding Expression
 
The value-binding expression linking this component tag to a backing bean property.
bodyrows Text
 
Comma separated list of row indices for which a new "tbody" element should be started (and any previously opened one should be ended).
border Text
 
The border attribute sets the pixel width of the border to be drawn around the table.
captionClass Text
 
Space-separated list of CSS style class(es) that will be applied to any caption generated for this table.
captionStyle Text
 
CSS style(s) to be applied when this caption is rendered.
cellpadding Text
 
The cellpadding attribute sets the width between the border of each cell and its contents.
cellspacing Text
 
The cellspacing attribute sets the width of the space between the outside and inside edges of the table as well as the space between cells.
columnClasses Text
 
The columnClasses attribute accepts a comma-delimited list of CSS style classes that will be applied to the columns of the table. Style classes for an individual column may also be defined in a space separated list. A style class is applied to a table column as the value for the class attribute of rendered td or th element. The algorithm used to apply the CSS style classes to the table columns is simple. In the table rendering process, style classes are applied to columns one at a time until (a) there are no more columns to display or (b) there are no more style classes to apply.
  • If (a) happens at the same time as (b), the next row in the table is rendered.
  • If (a) happens before (b), the remaining style classes are ignored.
  • If (b) happens before (a), the remaining columns will not have style classes.
dir Enumerated
 
The dir attribute is a standard HTML attribute that overrides the default text directionality for this component. The values accepted for this component are "LTR" (left-to-right) and "RTL" (right-to-left).

This attribute accepts the following values:

  • LTR
  • RTL
first Text
 
The first attribute sets the zero-relative row number of the first row to display in the data table. This allows you to set the starting position in the underlying list or array from which to begin rendering rows of data.
footerClass Text
 
The footerClass attribute accepts a space-separated list of CSS style classes (or simply a style class) to be applied to the table footer if one has been defined.
frame Text
 
The frame attribute sets the code specifying which sides of the frame around this table will be visible. The valid values for this attribute are:
  • none (no sides, default value)
  • above (top side only)
  • below (bottom side only)
  • hsides (top and bottom sides only)
  • vsides (right and left sides only)
  • lhs (left hand side only)
  • rhs (right hand side only)
  • box (all four sides) and
  • border (all four sides)

This attribute accepts the following values:

  • above
  • below
  • border
  • box
  • hsides
  • lhs
  • none
  • rhs
  • vsides
headerClass Text
 
The headerClass attribute accepts a space-separated list of CSS style classes (or a single style class) to be applied to any header generated for this table.
id Text
 
The unique identifier value for this component. The value must be unique within the closest naming container.
lang Text
 
The lang attribute is a standard HTML attribute that sets the code describing the language to be used in the markup generated by this component.
onclick Text
 
The onclick attribute sets the JavaScript code to execute when the mouse pointer is clicked over this element.
ondblclick Text
 
The ondblclick attribute sets the JavaScript code to execute when the mouse pointer is double-clicked over this element.
onkeydown Text
 
The onkeydown attribute sets the JavaScript code to execute when a key is pressed down over this element.
onkeypress Text
 
The onkeypress attribute sets the JavaScript code to execute when a key is pressed and released over this element.
onkeyup Text
 
The onkeyup attribute sets the JavaScript code to execute when a key is released over this element.
onmousedown Text
 
The onmousedown attribute sets the JavaScript code to execute when the mouse pointer is pressed down over this element.
onmousemove Text
 
The onmousemove attribute sets the JavaScript code to execute when the mouse pointer is moved within this element.
onmouseout Text
 
The onmouseout attribute sets the JavaScript code to execute when the mouse pointer is moved away from this element.
onmouseover Text
 
The onmouseover attribute sets the JavaScript code to execute when the mouse pointer is moved onto this element.
onmouseup Text
 
The onmouseup attribute sets the JavaScript code to execute when the mouse button is released over this element.
rendered Boolean
 
A value-binding expression that evaluates to a Boolean condition indicating if this component should be rendered.
rowClasses Text
 
The rowClasses attribute accepts a comma-delimited list of CSS style classes to be applied to the rows of the table. Style classes for an individual row may also be defined in a space separated list. A style class is applied to a table row as the value for the class attribute of rendered tr element. Style classes are applied to rows in the same order that they are defined. For example, if there are two style classes, the first is applied to the first row, the second is applied to the second row, the first is applied to the third row, the second is applied to the fourth row, and so on. The list of styles is looped over from the beginning until there are no more rows to display.
rows Text
 
The rows attribute sets the number of rows to display, starting from the row identified by the "first" attribute. If the value of the rows attribute is set to zero, all available rows in the underlying data model will be displayed.
rules Text
 
The rules attribute specifies which lines will appear between cells in the table. The valid values for this attribute are:
  • none (no rules, default value)
  • groups (between row groups)
  • rows (between rows only)
  • cols (between columns only)
  • and all (between all rows and columns)

This attribute accepts the following values:

  • cols
  • groups
  • none
  • rows
style Text
 
The style attribute sets the CSS style definition to be applied to this component when it is rendered.
styleClass Text
 
The styleClass attribute sets the CSS class to apply to this component when it is rendered.
summary Text
 
The summary attribute describes the purpose and structure of the table for accessibility support for assistive devices and non-visual user agents.
title Text
 
The title attribute is a standard HTML attribute that sets the tooltip text to display for the rendered component.
value Text
 
The value attribute sets the current value for this component.
var Text
 
The var attribute sets the name of a request-scope attribute exposing the data for each iteration over the rows in the underlying data model for this table.
width Text
 
The width attribute sets the width of the entire table for visual user agents.