<< View previous version | view page history | view next version >>
ICEfaces Components
The ICEfaces Components are an ICEfaces 2-compatible version of the ICEfaces 1.x ICEfaces Component Suite.
You should include this library if you want to use the ICEfaces Component Suite components in your application or if you are porting an existing ICEfaces 1.8.x application to ICEfaces 2.
See the [ICEfaces 1.x Compatibility] section for more information on porting an existing ICEfaces 1.x application to ICEfaces 2. |
Configurations Details
- Required web.xml entries
<?xml version='1.0' encoding='UTF-8'?> <!-- Have the proper schema version --> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- More efficient, in an AJAX environment, to have server side state saving --> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>server</param-value> </context-param> <!-- HTML comments become components unless they're stripped --> <context-param> <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name> <param-value>true</param-value> </context-param> <!-- If you're using ice:gmap component, you'll need your own key here --> <context-param> <param-name>com.icesoft.faces.gmapKey</param-name> <param-value>ABQIAAAADlu0ZiSTam64EKaCQr9eTRTOTuQNzJNXRlYRLknj4cQ89tFfpxTEqxQnVWL4k55OPICgF5_SOZE06A </param-value> </context-param> <!-- The JSF servlet --> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> </servlet> <!-- Many of the ICEfaces Components make use of the Resource Servlet --> <servlet> <servlet-name>Resource Servlet</servlet-name> <servlet-class>com.icesoft.faces.webapp.CompatResourceServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- The standard mapping. Can use other extensions, or path mappings --> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> <!-- This specific mapping is necessary for the Resource Servlet to function properly --> <servlet-mapping> <servlet-name>Resource Servlet</servlet-name> <url-pattern>/xmlhttp/*</url-pattern> </servlet-mapping> </web-app>
- Add icefaces-compat.jar to your application project
[icefaces2.dir]/icefaces/lib/icefaces-compat.jar
3rd Party Dependencies If you are using the ICEfaces Components you will also require additional 3rd party libraries. See Appendix A - ICEfaces Library/App. Server Dependencies in the ICEfaces 1.8 Developer's Guide for details. |
Component List
checkbox | checkbox for a selectManyCheckbox component when its layout is "spread" |
column |
single column of data within a parent UIData component |
columnGroup |
used to create multiple dataTable headers or footers with allowable colspan and rowspan |
columns | used to render multiple table columns |
commandButton | submit or reset button |
commandLink | HTML "a" anchor element that acts like a form submit button when clicked |
commandSortHeader | clickable column header allowing user to toggle the sort order of data in table |
dataExporter | export the data contents of an table component into a variety of formats |
dataPaginator | used to render a set of page navigation controls for a table |
dataTable | HTML table tied to underlying data model |
effect | add effects to parent component |
form | HTML form width added features |
gMap | Google map |
gMapControl | adds control to the gMap |
gMapDirection | direction from point A to point B |
gMapGeoXml | supports the KML and GeoRSS data formats for displaying geographic information |
gMapLatLng | wrapper for google map's GLatLng API |
gMapLatLngs | list of gMapLatLng components |
gMapMarker | uses google map's GMarker API to display points on the map |
graphicImage | HTML "img" element |
headerRow | header row for a table |
inputHidden | HTML "input" element of "type" "hidden" |
inputRichText | JSF based rich text component |
inputSecret | HTML "input" element of "type" "password" |
inputText | HTML "input" element of "type" "text" |
inputTextarea | HTML "textarea" element |
jsEventListener | used to capture javascript events and optionally send a notification to server and fire an action event |
loadBundle | similar to f:loadBundle but allows change to messages dynamically |
menuBar |
provides a robust menu system |
menuItem | menu items contained by a menuBar |
menuItems |
dynamic heirarchy of menu items |
menuItemSeparator |
separates groups of menu items |
menuPopup | context sensitive popup menu providing popup nested child menus |
message | single message for a specific component |
messages | all the messages for a specific component |
outputChart | charts of various types |
outputConnectionStatus | displays information about the status of the network connection |
outputFormat | renders parameterized text |
outputLabel | HTML "label" element |
outputLink | HTML "a" anchor element |
outputMedia | plays a media object |
outputProgress | report progress to users in cases where a long running server-side task is necessary |
outputResource | expose resources for opening or downloading |
outputStyle | link desired ICEfaces theme CSS stylesheets |
outputText | span element for displaying text. |
panelBorder | container component with five regions: north, south, east, west, and center |
panelCollapsible | clickable header to hide or show contents |
panelConfirmation | popup confirmation dialog |
panelDivider | splitable panel |
panelGrid | HTML "table" element |
panelGroup | container for a group of child components |
panelLayout | placement of components in absolute or relative position |
panelPopup | modal or non-modal popups |
panelPositioned | series of repeating child-components which can be dragged and repositioned |
panelSeries | dynamically generates a series of repeating child-components within a panel |
panelStack | multiple panel groups with one group visible at a time |
panelTab | a tab within a tab set |
panelTabSet | a set of tabs with one table active at a time |
panelTooltip | tooltip popup |
portlet | container for a portlet in a portal |
radio | radio button for a selectOneRadio component when its layout is "spread" |
repeat | mechanism for dynamically generating a series of repeating child-components |
rowSelector | enables single and multiple row selection for a data table |
selectBooleanCheckbox | HTML "input" element of type "checkbox" |
selectInputDate | input field, inline calendar or popup calendar for entering date and time |
selectInputText | input text component enhanced with auto-complete functionality |
selectManyCheckbox | a list of checkboxes |
selectManyListbox | list box allowing multiple selections |
selectManyMenu | list box with only one item visible at a time allowing multiple selections |
selectOneListbox | list box with single selection |
selectOneMenu | list box with only one item visible at a time allowing single selection |
selectOneRadio | set of radio buttons |
setEventPhase | specifies the phase that certain events will be broadcast in |
tabChangeListener | sets listener class for tab change in tabset |
tree | displays hierarchical data as a tree of branches and leaf nodes |
treeNode |
a node in a tree |
Examples
Compat Components Showcase
The Compat Components Showcase example provides a high-level demonstration of the ICEfaces Compat Components and is located in:
[icefaces2.dir]/icefaces/samples/compat/component-showcase
From that directory, you can use ant to build the Component Showcase. The strategy is to build a .war file for the platform you are running on. All of the content-related files are located in:
[icefaces2.dir]/icefaces/samples/compat/component-showcase/src
So to build a component-showcase.war file for Tomcat 6.0 or 7.0 (non-JEE6 container), you would run the following ant command from the component-showcase directory:
component-showcase > ant clean servlet-profile
Alternatively, to build a component-showcase.war file for a JEE6 container, which includes the JSF libraries, you would run the following ant command from the component-showcase directory:
component-showcase > ant clean web-profile
The resulting component-showcase.war is located in:
[icefaces2.dir]/icefaces/samples/dist/component-showcase.war
This .war file can be deployed to the Tomcat "webapps" directory.
Compat Auction Monitor
The Auction Monitor simulates the tracking of live auctions and illustrates the following dynamic web application features; ticking clocks, real-time bid updates, dynamically rendered buttons, the ability to hide and show table rows on demand, and an integrated chat section. It is located in:
[icefaces2.dir]/icefaces/samples/compat/auctionMonitor
From that directory, you can use ant to build the Auction Monitor. The strategy is to build a .war file for the platform you are running on. All of the content-related files are located in:
[icefaces2.dir]/icefaces/samples/compat/auctionMonitor/src
So to build an auctionMonitor.war file for Tomcat 6.0 or 7.0 (non-JEE6 container), you would run the following ant command from the auctionMonitor directory:
auctionMonitor > ant clean servlet-profile
Alternatively, to build an auctionMonitor.war file for a JEE6 container, which includes the JSF libraries, you would run the following ant command from the auctionMonitor directory:
auctionMonitor > ant clean web-profile
The resulting auctionMonitor.war is located in:
[icefaces2.dir]/icefaces/samples/dist/auctionMonitor.war
This .war file can be deployed to the Tomcat "webapps" directory.