Home arrow Java & J2EE arrow Page 3 - Introduction to JavaServer Faces Part 2

Continuing With the navigateComponent Tree - Java

We continue with part two of Chapter 2 of Introduction JavaServer Faces Programming, by Budi Kurniawan (McGraw-Hill/Osborne, ISBN 0-07-222983-7, 2004). This section deals with the ActionListener and Component Tree, as well as validation and navigation for your JSP pages.  This chapter prepares you for the next chapters by introducing the JSF Application Programming Interface (API) and the Application Configuration file.

  1. Introduction to JavaServer Faces Part 2
  2. The Action Listener
  3. Continuing With the navigateComponent Tree
  4. Console Message
  5. And the Message
  6. Authoring the JSP Page for the Validator Example
By: McGraw-Hill/Osborne
Rating: starstarstarstarstar / 23
March 15, 2004

print this article



The navigateComponentTree method is called recursively. It first prints the identifier of the component passed in to it. The identifier is indented by a number of blank spaces proportionate to the level argument. The level argument determines the number of spaces before the component name. The indention gives the effect of a hierarchy. When called from the processAction method, the navigateComponentTree method is passed 0 as the level argument.

for (int i=0i<leveli++)
.out.print(" ");
// print component id

The navigateComponentTree method then obtains the children of the passed in component by calling the getChildren method of the UIComponent interface. The getChildren method returns an Iterator containing all children of the component.

Iterator children component.getChildren();

Next, it iterates all the children and calls the navigateComponentTree method for each of the component’s children.

</f:use_faces><f:use_faces>// navigate children
while (children.hasNext()) {
UIComponent child = (UIComponent) children.next();
navigateComponentTree(child, level + 1);

NOTE  All the applications for this book can be downloaded from the book’s web site on http://www.brainysoftware.com. Applications are named after the chapters, thus JSFCh01 for Chapter 1, JSFCh10 for Chapter 10, and so on. Because Chapter 2 has three applications, they are named JSFCh02a, JSFCh02b, and JSFCh02c, respectively. You simply need to copy these applications to the webapps directory under %CATALINA_HOME%. All .java files are located under the WEB-INF/classes directory. Also, you must copy the jar files to the WEB-INF/lib directory of each application, as explained in the “Introduction.”

Compiling and Running the Listener and Component Tree Example

To compile the application, change to the JSFCh02a/WEB-INF/classes directory. If you are using Windows, type the following command:

javac -classpath ../lib/jsf-api.jar;../lib/jsfri.
;../../../../common/lib/servlet-api.jar ch02a/*.java

Note that to compile the source files, you need two library files in the lib directory and the servlet-api.jar file. In Tomcat 5, the servlet-api.jar file can be found in the common/lib directory of Tomcat’s home directory.

If you are using Linux/Unix, use colons (rather than semicolons) to separate the library files:

javac -classpath ../lib/jsf-api.jar:../lib/jsfri.
:../../../../common/lib/servlet-api.jar ch02a/*.java

Then run Tomcat. You can then direct your browser to the following URL:


Note that you use the /faces/ pattern before the JSP page name. You will see something similar to Figure 6 in your browser.

Buy this book now!Remember: This is part one of the second chapter of JavaServer Faces Programming, by Budi Kurniawan (McGraw-Hill/Osborne, ISBN 0-07-222983). Stay tuned for more helpful chapters from McGraw-Hill/Osborne.
Buy this book!

>>> More Java & J2EE Articles          >>> More By McGraw-Hill/Osborne

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- More Java Bugs Lead to More Attacks
- Oracle's Java One Brings News, Surprises
- Oracle Patches Java Runtime Environment
- Apple Syncs Java Update with Oracle
- Spring 3.1 Java Development Framework Compat...
- Jelastic Java PaaS Availability and Pricing ...
- NetBeans 7.1 Released, Supports JavaFX 2
- SolarWinds Releases Newest Version of Java M...
- Free Monitoring Tool for Java Apps on Heroku
- Heroku Adds JCloud Platform Support, Java 7 ...
- Java SE 8 Speculation in Full Swing
- Java SE 7 Now Available
- New JVM Language and Java Reporting Tool
- Java 7 Release Update and New Eclipse Toolkit
- The Best Java Netbeans IDE Plugins

Developer Shed Affiliates


Dev Shed Tutorial Topics: