<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0IFQnwyfyp7ImA9WhRRFEk.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766</id><updated>2011-11-27T16:51:53.297-08:00</updated><title>JSF Beginner's Guide</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://jsflessons.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://jsflessons.blogspot.com/" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/JsfBeginnersGuide" /><feedburner:info uri="jsfbeginnersguide" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DUYEQXo-cCp7ImA9WhRSGEU.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-5036881911496034292</id><published>2010-02-03T16:12:00.000-08:00</published><updated>2011-11-21T06:51:40.458-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-21T06:51:40.458-08:00</app:edited><title>JSF Beginner's Guide</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OQyh0Ld9qRL62zoSvZz-LUV-B3I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OQyh0Ld9qRL62zoSvZz-LUV-B3I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OQyh0Ld9qRL62zoSvZz-LUV-B3I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OQyh0Ld9qRL62zoSvZz-LUV-B3I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/p/jsf-beginners-guide-2.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;!-- Amazon --&gt;
&lt;iframe src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;o=1&amp;p=48&amp;l=ur1&amp;category=christmascorner2011&amp;banner=1R9MYXPQV0SF40R8BGR2&amp;f=ifr" width="728" height="90" scrolling="no" border="0" marginwidth="0" style="border:none;" frameborder="0"&gt;&lt;/iframe&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;div class="separator" style="text-align: left;"&gt;
&lt;strong&gt;&lt;span style="font-size: x-large;"&gt;Developing an Application with JSF 1.2&lt;/span&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
In this JSF tutorial, we will create and execute a simple web application with JavaServer Faces 1.2. This is most suited for those who develop a JSF application for the first time. This may look terribly descriptive for those who are already familiar with creating and running JSF projects. I am not going to the details of JSF technology here. There are lots of other sites and books that does it. Here my intention is to help you create your 'first' JSF project running on our PC. &lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
You can find ,one of my favorite JSF books &lt;a href="http://www.amazon.com/JavaServer-Faces-Hans-Bergsten/dp/0596005393?ie=UTF8&amp;amp;tag=jayblo-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;here&lt;/a&gt; at Amazon.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Just like any other Java Web application, we need Eclipse (I am using version 3.5.1) with Apache Tomcat 6.0 set up in our system.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
First thing first, let's start with creating a new Dynamic Web project.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Select File -&amp;gt; New -&amp;gt; Project&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Select&amp;nbsp;&amp;nbsp;&lt;em&gt;Dynamic Web project&lt;/em&gt; in the Wizard, as shown below, and click &lt;em&gt;Next&lt;/em&gt;. &lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S1ZRYBBIXjI/AAAAAAAAFHI/5qzT6wF-lEU/s1600-h/Select_Wizard.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="377" ps="true" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S1ZRYBBIXjI/AAAAAAAAFHI/5qzT6wF-lEU/s400/Select_Wizard.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Give&amp;nbsp;Project name&amp;nbsp;&lt;strong&gt;&lt;em&gt;BasicJSFProject&lt;/em&gt;&lt;/strong&gt;. Click&amp;nbsp;&lt;em&gt;New&lt;/em&gt; button&amp;nbsp;to select the 'Target Runtime'.&amp;nbsp;In the popup window(screen shot is not provided) select the &amp;nbsp;type of&amp;nbsp;runtime environment as ApacheTomacat v6.0. Specify the tomcat installation directory and click Finish. Select the dynamic web module version as 2.5. In the configuration section, select the JavaServer Faces Project v1.2. Click next. &lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_VmQU3f52iZk/S1Y-T0T3KcI/AAAAAAAAFE4/2k6gPXL5Upg/s1600-h/DynamicWebProject.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" ps="true" src="http://3.bp.blogspot.com/_VmQU3f52iZk/S1Y-T0T3KcI/AAAAAAAAFE4/2k6gPXL5Upg/s640/DynamicWebProject.jpg" width="432" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
Click next.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;
&lt;div align="center" class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://2.bp.blogspot.com/_VmQU3f52iZk/S505a1ITcsI/AAAAAAAAFUI/7zL8v2kEgYQ/s1600-h/AddJavaSourceFolder.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://2.bp.blogspot.com/_VmQU3f52iZk/S505a1ITcsI/AAAAAAAAFUI/7zL8v2kEgYQ/s400/AddJavaSourceFolder.jpg" vt="true" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
Check Generate web.xml deployment descriptor and Click next. &lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S506jZmQIKI/AAAAAAAAFUQ/GHouWeDo60U/s1600-h/WebModule.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="173" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S506jZmQIKI/AAAAAAAAFUQ/GHouWeDo60U/s400/WebModule.jpg" vt="true" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
Click download library &lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&amp;nbsp;&lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S1cijlYZaQI/AAAAAAAAFI8/FIqb-AkH0EA/s1600-h/SelectJSFCapabilities.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" mt="true" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S1cijlYZaQI/AAAAAAAAFI8/FIqb-AkH0EA/s400/SelectJSFCapabilities.jpg" width="330" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
Select JSF 1.2 (SUN RI). Click next. Accept the terms of license. Click Finish. &lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&amp;nbsp; &lt;a href="http://2.bp.blogspot.com/_VmQU3f52iZk/S7EMbuqMhaI/AAAAAAAAFY4/Ag-NqDt7aik/s1600/JSF1.2(SUN+RI)library.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="151" nt="true" src="http://2.bp.blogspot.com/_VmQU3f52iZk/S7EMbuqMhaI/AAAAAAAAFY4/Ag-NqDt7aik/s400/JSF1.2(SUN+RI)library.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
Select JSF 1.2(SUN RI) and click Finish. &lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="center"&gt;
&lt;a href="http://4.bp.blogspot.com/_VmQU3f52iZk/S7EMkPVkxyI/AAAAAAAAFZA/GMP1CL4JzuA/s1600/JSFCapabilities.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="193" nt="true" src="http://4.bp.blogspot.com/_VmQU3f52iZk/S7EMkPVkxyI/AAAAAAAAFZA/GMP1CL4JzuA/s400/JSFCapabilities.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div align="center"&gt;
&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: justify;"&gt;
Your &lt;strong&gt;BasicJSFProject&lt;/strong&gt; has been created. Note that the &lt;strong&gt;web.xml&lt;/strong&gt; file has been updated with the Faces Servlet and servlet-mapping, a stub JSF application configuration file (&lt;strong&gt;faces-config.xml&lt;/strong&gt;) has been created, and the build path has been updated with the implementation jars. In your eclipse window project explorer will look like this:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S1ZnR9gtPUI/AAAAAAAAFIo/0Rmk8c2vx0Y/s1600-h/ProjectExplorer.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" ps="true" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S1ZnR9gtPUI/AAAAAAAAFIo/0Rmk8c2vx0Y/s400/ProjectExplorer.jpg" width="329" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Now we are all set to start our coding. But before that we should have a clear idea about what we are going to build. It's a simple web page which receives 4 input from the user and displays the result on the same page on successful submission.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
The following screenshot illustrates how our page will be rendered at runtime: &lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_VmQU3f52iZk/S1c5KScFEVI/AAAAAAAAFJU/EpLWFgXPCOo/s1600-h/UserDetailsForm.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" mt="true" src="http://4.bp.blogspot.com/_VmQU3f52iZk/S1c5KScFEVI/AAAAAAAAFJU/EpLWFgXPCOo/s320/UserDetailsForm.jpg" width="260" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp;Now, we will create a&amp;nbsp;backing bean &lt;strong&gt;UserDetails.java&lt;/strong&gt; file. It's a simple Java bean with four attribute(name,age,email,dob) and setter/getter methods for the four attributes. The bean simply captures the name,age,email,dob entered by a user after the user clicks the Submit button. This way the bean provides a bridge between the JSP page and the application logic. &lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href="http://www.blogger.com/" name="javaclass"&gt;&lt;/a&gt;&lt;strong&gt;Create a new Java class.&lt;/strong&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_VmQU3f52iZk/S5079-gvwDI/AAAAAAAAFUY/FDhMWlQnPi8/s1600-h/CreateJavaClass.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="155" src="http://2.bp.blogspot.com/_VmQU3f52iZk/S5079-gvwDI/AAAAAAAAFUY/FDhMWlQnPi8/s400/CreateJavaClass.jpg" vt="true" width="400" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
In the wizard , enter the package as, &lt;span style="background-color: white;"&gt;&lt;span style="background-color: white;"&gt;&lt;span style="background-color: #e0e0e0;"&gt;com.user.details&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;and the Name of the class as &lt;span style="background-color: #e0e0e0;"&gt;UserDetails&lt;/span&gt;. Click the Finish button. &lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style="background-color: #d9d2e9;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_VmQU3f52iZk/S1Y-8sLM4FI/AAAAAAAAFFg/M1jk8LW27q4/s1600-h/UserDetailsJavaClass.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" ps="true" src="http://3.bp.blogspot.com/_VmQU3f52iZk/S1Y-8sLM4FI/AAAAAAAAFFg/M1jk8LW27q4/s400/UserDetailsJavaClass.jpg" width="343" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
Add attributes and generate getter and setters &lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S1ZL7GIQdFI/AAAAAAAAFF4/5E6WO6lpTjY/s1600-h/GenerateGettersAndSetters.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" ps="true" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S1ZL7GIQdFI/AAAAAAAAFF4/5E6WO6lpTjY/s400/GenerateGettersAndSetters.jpg" width="355" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Select all four attributes to create getters ans setters and Click OK. &lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_VmQU3f52iZk/S1ZMS4SmGaI/AAAAAAAAFGA/0ieZ7bjG7qY/s1600-h/SelectGettersAndSetters.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" ps="true" src="http://2.bp.blogspot.com/_VmQU3f52iZk/S1ZMS4SmGaI/AAAAAAAAFGA/0ieZ7bjG7qY/s400/SelectGettersAndSetters.jpg" width="305" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
Our UserDetails.java file looks like this.&lt;/div&gt;
&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="border-bottom: black 1px solid; border-left: black 1px solid; border-right: black 1px solid; border-top: black 1px solid; height: 356px; margin: 4px auto; overflow-y: scroll; scrollbar-3dlight-color: #a0a0a0; scrollbar-arrow-color: blue; scrollbar-darkshadow-color: #888888; text-align: center; width: 400px;"&gt;
&lt;style type="text/css"&gt;
    &lt;!--code { font-family: Courier New, Courier; font-size: 10pt; margin: 0px; }--&gt;
  
&lt;/style&gt;&lt;br /&gt;
&lt;div align="left" class="java"&gt;
&lt;table bgcolor="#ffffff" border="0" cellpadding="3" cellspacing="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td align="left" nowrap="nowrap" valign="top"&gt;&lt;code&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;package&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;com.user.details;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;import&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;java.util.Date;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;class&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;UserDetails&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;private&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;String&amp;nbsp;name;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;private&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;Integer&amp;nbsp;age=&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;private&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;String&amp;nbsp;email;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;private&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;Date&amp;nbsp;dob;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;private&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;boolean&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;submitted&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;false&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;boolean&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;isSubmitted&lt;/span&gt;&lt;span style="color: black;"&gt;()&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;return&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;submitted;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;String&amp;nbsp;submitUserDetails&lt;/span&gt;&lt;span style="color: black;"&gt;()&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;submitted&amp;nbsp;=&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;true&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;return&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;"submitted"&lt;/span&gt;&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;Date&amp;nbsp;getDob&lt;/span&gt;&lt;span style="color: black;"&gt;()&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;return&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;dob;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;void&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;setDob&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;Date&amp;nbsp;dob&lt;/span&gt;&lt;span style="color: black;"&gt;)&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;this&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;.dob&amp;nbsp;=&amp;nbsp;dob;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;String&amp;nbsp;getName&lt;/span&gt;&lt;span style="color: black;"&gt;()&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;return&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;name;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;void&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;setName&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;String&amp;nbsp;name&lt;/span&gt;&lt;span style="color: black;"&gt;)&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;this&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;.name&amp;nbsp;=&amp;nbsp;name;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;Integer&amp;nbsp;getAge&lt;/span&gt;&lt;span style="color: black;"&gt;()&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;return&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;age;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;void&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;setAge&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;Integer&amp;nbsp;age&lt;/span&gt;&lt;span style="color: black;"&gt;)&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;this&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;.age&amp;nbsp;=&amp;nbsp;age;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;String&amp;nbsp;getEmail&lt;/span&gt;&lt;span style="color: black;"&gt;()&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;return&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;email;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;void&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;setEmail&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;String&amp;nbsp;email&lt;/span&gt;&lt;span style="color: black;"&gt;)&amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;this&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;.email&amp;nbsp;=&amp;nbsp;email;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;/code&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/#top"&gt;Back To Top &amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/p/jsf-beginners-guide-2.html"&gt;Continue to Part 2&amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;
&lt;/div&gt;
&lt;strong&gt;See More Topics:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://jsflessons.blogspot.com/p/page-navigation.html"&gt;How page navigation works in JSF?&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://jsflessons.blogspot.com/p/configuring-resource-bundle.html"&gt;How to&amp;nbsp;use resource bundle in JSF?&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://jsflessons.blogspot.com/p/internationalization.html"&gt;How to implement Internationalization and Localization in JSF?&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://jsflessons.blogspot.com/p/event-handling.html"&gt;How event handling works in JSF?&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://jsflessons.blogspot.com/p/jsf-request-processing-life-cycle.html"&gt;JSF Request Processing Life Cycle with example.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-5036881911496034292?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/rxzfm-XdXzc" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/5036881911496034292?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/5036881911496034292?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/rxzfm-XdXzc/jsf-beginners-guide.html" title="JSF Beginner's Guide" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_VmQU3f52iZk/S1ZRYBBIXjI/AAAAAAAAFHI/5qzT6wF-lEU/s72-c/Select_Wizard.jpg" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2010/01/jsf-beginners-guide.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUFRHs_eSp7ImA9Wx5TFkQ.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-7651343540468271887</id><published>2009-04-19T20:19:00.000-07:00</published><updated>2010-08-01T12:16:55.541-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T12:16:55.541-07:00</app:edited><title>JSF Page Navigation - 2</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mJKcAFXKY3eJjZa0yAswTAYCLLU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mJKcAFXKY3eJjZa0yAswTAYCLLU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mJKcAFXKY3eJjZa0yAswTAYCLLU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mJKcAFXKY3eJjZa0yAswTAYCLLU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/p/page-navigation.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://jsflessons.blogspot.com/p/configuring-resource-bundle.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;strong&gt;&lt;span style="font-size: x-large;"&gt;JSF Page Navigation - Part 2&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;/div&gt;&lt;div style="clear: left; float: left; margin-right: 1em" &gt;&lt;br/&gt;&lt;br/&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3454326745571458";
/* 160x600, Text Add 7/3/10 */
google_ad_slot = "3039515870";
google_ad_width = 160;
google_ad_height = 600;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br/&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br&gt;Each navigation rule defines how to navigate from one particular page to a set of other pages in the application. A &amp;lt;navigation-rule&amp;gt; element can have zero or more &amp;lt;navigation-case&amp;gt; sub-elements. The &amp;lt;navigation-case&amp;gt; element defines a set of matching criteria defined by logical outcome of the action method referenced by the button or hyperlink . When these criteria are satisfied, the application will navigate to the page defined by the &amp;lt;to-view-id&amp;gt; element contained in the same &amp;lt;navigation-case&amp;gt; element. &lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
In our example,the navigation rule says that when the button component on &lt;i&gt;UserDetailsForm.jsp&lt;/i&gt; is activated, the application will navigate from the &lt;i&gt;UserDetailsForm.jsp&lt;/i&gt; page to the &lt;i&gt;userDetailsSubmitted.jsp&lt;/i&gt; page if the outcome referenced by the button&amp;nbsp;component's tag is "submitted". &lt;/div&gt;
&amp;nbsp; &lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
The theory behind is when a button or hyperlink is clicked, the component associated with it generates an action event. Normally, to capture an ActionEvent, you need to write an ActionListener. In JSF this event is handled by the default ActionListener for page navigation. The&amp;nbsp;ActionListener instance calls the action method referenced by the component that triggered the event. This action method is located in a backing bean and is provided by the application developer.It must be a public method that takes no parameters and returns a&amp;nbsp; logical outcome String, The outcome can be anything the developer chooses. In our example the action method retuns an outcome&amp;nbsp;"submitted".&amp;nbsp;The listener passes the logical outcome and a reference to the action method that produced the outcome to the default NavigationHandler. The NavigationHandler selects the page to display next by matching the outcome or the action method reference against the navigation rules in the application configuration resource file. &lt;/div&gt;

&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
In some case there can be&amp;nbsp;more than one navigation case for a navigation rule.For example,in a login page if the username and password entered by the user matches those in the database,the action method might return "success"; otherwise, it might return "failure".An outcome of failure might result in &lt;i&gt;failure.jsp&lt;/i&gt; page. An outcome of success might redirect to &lt;i&gt;success.jsp&lt;/i&gt; page.In this case we will see how we will define navigation rule.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background: rgb(224,224,224); width: 600px;"&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;lt;navigation-rule&amp;gt; &lt;/span&gt;&lt;/div&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;from-view-id&amp;gt;/pages/login.jsp&amp;lt;/from-view-id&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;navigation-case&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;from-outcome&amp;gt;success&amp;lt;/from-outcome&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;to-view-id&amp;gt;/pages/success.jsp&amp;lt;/to-view-id&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/navigation-case&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;navigation-case&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;from-outcome&amp;gt;failure&amp;lt;/from-outcome&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;to-view-id&amp;gt;/pages/failure.jsp&amp;lt;/to-view-id&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/navigation-case&amp;gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #e0e0e0;"&gt;&amp;lt;/navigation-rule&amp;gt; &lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The web.xml file of the applicaiton&amp;nbsp;:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
The complete listing of web.xml is shown below.&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="border-bottom: grey 2px solid; border-left: grey 2px solid; border-right: grey 2px solid; border-top: grey 2px solid; height: 356px; margin: 4px auto; overflow-y: scroll; scrollbar-3dlight-color: #a0a0a0; scrollbar-arrow-color: blue; scrollbar-darkshadow-color: #888888; text-align: left; width: 500px;"&gt;
&lt;div style="text-align: left;"&gt;
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/div&gt;
&amp;lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;display-name&amp;gt;BasicJSFJSPProject&amp;lt;/display-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;welcome-file-list&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;index.html&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;index.htm&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;index.jsp&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;welcome-file&amp;gt;default.html&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;default.htm&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;default.jsp&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/welcome-file-list&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;servlet&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-name&amp;gt;Faces Servlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;servlet-class&amp;gt;javax.faces.webapp.FacesServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/servlet&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-name&amp;gt;Faces Servlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url-pattern&amp;gt;/faces/*&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;context-param&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;State saving method: 'client' or 'server' (=default). See JSF Specification&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.5.2&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-name&amp;gt;javax.faces.STATE_SAVING_METHOD&amp;lt;/param-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;param-value&amp;gt;client&amp;lt;/param-value&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;context-param&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-name&amp;gt;javax.servlet.jsp.jstl.fmt.localizationContext&amp;lt;/param-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-value&amp;gt;resources.application&amp;lt;/param-value&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/context-param&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;listener&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;listener-class&amp;gt;com.sun.faces.config.ConfigureListener&amp;lt;/listener-class&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/listener&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-name&amp;gt;Faces Servlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url-pattern&amp;gt;*.jsf&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-name&amp;gt;Faces Servlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url-pattern&amp;gt;*.faces&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&amp;lt;/web-app&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Run the application.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To run your web application, right click on BasicJSFProject, click- &amp;gt;run as -&amp;gt; run on server.&lt;br /&gt;
Select the server type ,Apache Tomacat v6.0 Server.Click Fininsh.&lt;br /&gt;
&lt;br /&gt;
Open a web browser and type the url :&lt;span style="background-color: #e0e0e0;"&gt; &lt;/span&gt;&lt;span style="background-color: #e0e0e0;"&gt;&lt;span style="color: black;"&gt;http://localhost:8080/BasicJSFProject/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: white;"&gt;Enter valid inputs in the first page and click submit.It will be redirected to next page with the contents as shown below.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_VmQU3f52iZk/S1-d7mDOFdI/AAAAAAAAFMA/JgCWFDXTppA/s1600-h/UserDetailsDisplayed.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" mt="true" src="http://2.bp.blogspot.com/_VmQU3f52iZk/S1-d7mDOFdI/AAAAAAAAFMA/JgCWFDXTppA/s400/UserDetailsDisplayed.bmp" width="315" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/04/jsf-page-navigation-2.html#top"&gt;Back To Top &amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/p/page-navigation.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/p/configuring-resource-bundle.html"&gt;Next&amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;See More Topics:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://jsflessons.blogspot.com/p/configuring-resource-bundle.html"&gt;How to&amp;nbsp;use resource bundle in JSF?&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://jsflessons.blogspot.com/p/internationalization.html"&gt;How to implement Internationalization and Localization in JSF?&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://jsflessons.blogspot.com/p/event-handling.html"&gt;How event handling works in JSF?&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://jsflessons.blogspot.com/p/jsf-request-processing-life-cycle.html"&gt;JSF Request Processing Life Cycle with example.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-7651343540468271887?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/Ju-1N9TbCME" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/7651343540468271887?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/7651343540468271887?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/Ju-1N9TbCME/jsf-page-navigation-2.html" title="JSF Page Navigation - 2" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_VmQU3f52iZk/S1-d7mDOFdI/AAAAAAAAFMA/JgCWFDXTppA/s72-c/UserDetailsDisplayed.bmp" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2009/04/jsf-page-navigation-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcBQ307eCp7ImA9Wx9TEU8.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-1004266671683166466</id><published>2009-04-19T20:14:00.000-07:00</published><updated>2010-11-18T15:14:12.300-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-18T15:14:12.300-08:00</app:edited><title>Facelets Tutorial : UI Param Tag</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EPPI1IvjGsOKyTF8cQssXS9BLcA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EPPI1IvjGsOKyTF8cQssXS9BLcA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EPPI1IvjGsOKyTF8cQssXS9BLcA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EPPI1IvjGsOKyTF8cQssXS9BLcA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-fragment-tag.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://jsflessons.blogspot.com/2009/04/creating-custom-tags-in-create-facelets.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-size: x-large;"&gt;UI Param Tag&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
In our previous facelets tutorial on &lt;em&gt;ui :component&lt;/em&gt;, the Backing Bean variable &lt;em&gt;'menus'&lt;/em&gt; is directly referenced&amp;nbsp;in the &lt;em&gt;sideMenu&lt;/em&gt;.xhtml file. This make the &lt;em&gt;sideMenu.xhtml&lt;/em&gt; non-reusable.&amp;nbsp; If we could pass the &lt;em&gt;'menus'&lt;/em&gt; object to the &lt;em&gt;sideMenu.xhtml&lt;/em&gt; as a variable from the &lt;em&gt;home.xhtml&lt;/em&gt;, that will make &lt;em&gt;sideMenu.xhtml&lt;/em&gt; more reusable.&amp;nbsp; This can be achieved with the help of the Facelets tag &lt;em&gt;ui : param&lt;/em&gt;. The &lt;em&gt;ui : param&lt;/em&gt; tag is used to pass objects as named variables between Facelets.&amp;nbsp;&amp;nbsp;The&lt;em&gt; ui : param&lt;/em&gt; tag has two required attributes,&amp;nbsp;&lt;em&gt;name&lt;/em&gt; and &lt;em&gt;value&lt;/em&gt; attributes.&amp;nbsp;In this example we will modify&amp;nbsp;the&amp;nbsp;facelets&amp;nbsp;pages&amp;nbsp; in our previous example to pass the object (menus) as a variable.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
First we modify the &lt;em&gt;sideMenu.xhtml&lt;/em&gt; to get rid of the Backing Bean reference. We could achieve this by replacing the value of the &lt;em&gt;items&lt;/em&gt; attribute of &lt;em&gt;c:forEach&lt;/em&gt; to '#{&lt;em&gt;menus&lt;/em&gt;}'. This change assumes that the facelets using&amp;nbsp;&lt;em&gt;sideMenu.xhtml&lt;/em&gt; should pass the &lt;em&gt;menus&lt;/em&gt; object using &lt;em&gt;ui:param&lt;/em&gt; tag with the &lt;em&gt;name&lt;/em&gt; attribute value set as &lt;em&gt;'menus'&lt;/em&gt;.&lt;/div&gt;
&lt;br /&gt;
See the complete &lt;em&gt;sideMenu.xhtml&lt;/em&gt; below:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: rgb(224,224,224); width: 600px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:f="http://java.sun.com/jsf/core" &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:c="http://java.sun.com/jstl/core"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; This text will not be rendered.&lt;br /&gt;
&amp;lt;ui:component&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;c:forEach var="menu" items=&lt;span style="background-color: yellow;"&gt;"#{menus}"&lt;/span&gt;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href="#{menu.url}"&amp;gt;#{menu.label}&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/c:forEach&amp;gt;&lt;br /&gt;
&amp;lt;/ui:component&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;br /&gt;
Modified &lt;em&gt;home.xhtml&lt;/em&gt; is shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: rgb(224,224,224); width: 605px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:f="http://java.sun.com/jsf/core"&amp;gt;&lt;br /&gt;
&amp;lt;ui:composition template="WEB-INF/templates/insertTemplate.xhtml"&amp;gt;&lt;br /&gt;
&amp;lt;ui:define name="sidemenu"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ui:include src="sideMenu.xhtml" &amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background-color: yellow;"&gt;&amp;lt;ui:param name="menus" value="#{menuBackingBean.menus}"/&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/ui:include&amp;gt;&lt;br /&gt;
&amp;lt;/ui:define&amp;gt; &lt;br /&gt;
&amp;lt;ui:define name="content"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is an example of a simple Facelets template.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Here Header and Footer appears from template.(inserTemplate.xhtml)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Side Menu appears from sideMenu.xhtml&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This section appears from templateClient.(home.xhtml)&lt;br /&gt;
&amp;lt;/ui:define&amp;gt;&lt;br /&gt;
&amp;lt;/ui:composition&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Run your webapplication&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
To run your web application, right click on &lt;i&gt;home&lt;/i&gt;.&lt;i&gt;xhtml&lt;/i&gt;, click- &amp;gt;run as -&amp;gt; run on server.&lt;br /&gt;
Select the server type ,Apache Tomacat v6.0 Server.Click Fininsh.&lt;br /&gt;
&lt;br /&gt;
Open a web browser and type the url : &lt;span style="background-color: #cccccc;"&gt;http://localhost:8080/JSFFaceletsExample/home.xhtml&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Your page will be rendered&amp;nbsp;like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_VmQU3f52iZk/S80DsS6uxRI/AAAAAAAAFaw/ZxYZszRXW_A/s1600/UiComponentExample.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="353" src="http://3.bp.blogspot.com/_VmQU3f52iZk/S80DsS6uxRI/AAAAAAAAFaw/ZxYZszRXW_A/s400/UiComponentExample.JPG" width="400" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
You can also use this tag where a&lt;em&gt; ui:define&lt;/em&gt; tag is used within &lt;em&gt;ui:composition&lt;/em&gt; or &lt;em&gt;ui:decorate&lt;/em&gt; tag. The name attribute of the &lt;em&gt;ui : param&lt;/em&gt; tag should match the &lt;em&gt;name&lt;/em&gt; attribute of a &lt;em&gt;ui:define&lt;/em&gt; tag contained in a &lt;em&gt;ui:composition&lt;/em&gt; or &lt;em&gt;ui:decorate&lt;/em&gt; in the template page receiving the object. &lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/04/ui-param-tag.html#top"&gt;Back To Top &amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-fragment-tag.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2009/04/creating-custom-tags-in-create-facelets.html"&gt;Next &amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-1004266671683166466?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/St5sq8kBRzg" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/1004266671683166466?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/1004266671683166466?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/St5sq8kBRzg/ui-param-tag.html" title="Facelets Tutorial : UI Param Tag" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_VmQU3f52iZk/S80DsS6uxRI/AAAAAAAAFaw/ZxYZszRXW_A/s72-c/UiComponentExample.JPG" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2009/04/ui-param-tag.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYGRXw_eCp7ImA9Wx9REk0.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-4699195755755352164</id><published>2009-04-19T19:49:00.000-07:00</published><updated>2010-12-12T18:08:44.240-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-12T18:08:44.240-08:00</app:edited><title>Facelets Tutorial : UI Fragment Tag</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5z8kDCG84yXC1yO-cDHfQnUe5GE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5z8kDCG84yXC1yO-cDHfQnUe5GE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5z8kDCG84yXC1yO-cDHfQnUe5GE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5z8kDCG84yXC1yO-cDHfQnUe5GE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;
&lt;div style="text-align: right;"&gt;&lt;br/&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/04/facelets-ui-component-tag-3.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://jsflessons.blogspot.com/2009/04/ui-param-tag.html"&gt;&lt;span style="font-size: small;"&gt;Next &amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-size: x-large;"&gt;UI Fragment Tag&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
The &lt;em&gt;ui : fragment&lt;/em&gt; tag is the nontrimming counterpart of &lt;em&gt;ui : component&lt;/em&gt; tag. That means the &lt;em&gt;ui : fragment&lt;/em&gt; tag behaves just like the &lt;em&gt;ui : component&lt;/em&gt; tag except that it does not trim content outside the tag. &lt;/div&gt;
&lt;br /&gt;
Let us see how the 'side menu' in &lt;em&gt;home.xhtml&lt;/em&gt; page&amp;nbsp;is implemented using the &lt;em&gt;ui: fragment&lt;/em&gt; tag.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Create a JSF Facelets Page&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Right-mouse click on the &lt;em&gt;WebContent &lt;/em&gt;folder of JSFFaceletsExample application, select &lt;em&gt;New&lt;/em&gt;-&amp;gt;&lt;em&gt;HTML Page&lt;/em&gt; to launch the HTML Page wizard. Type the file name &lt;em&gt;sideMenuFragment.xhtml&lt;/em&gt; and click '&lt;em&gt;Next&lt;/em&gt;'. In the &lt;em&gt;Select Templates&lt;/em&gt; page of the wizard, select the &lt;em&gt;'New Facelet Composition Page'&lt;/em&gt;. Click &lt;em&gt;'Finish'&lt;/em&gt;. The page will be opened in the Web Page Editor.&lt;/div&gt;
&lt;br /&gt;
The&amp;nbsp;&lt;em&gt;sideMenuFragment.xhtml&lt;/em&gt; page is shown below.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: #e0e0e0; width: 600px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:f="http://java.sun.com/jsf/core" &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:c="http://java.sun.com/jstl/core"&amp;gt;&lt;br /&gt;
&amp;lt;div style=" background-color: #3366ff; font-size: 20px; border: 2px solid red"&amp;gt;&lt;br /&gt;
&amp;lt;ui:fragment&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;c:forEach var="menu" items="#{menuBackingBean.menus}"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href="#{menu.url}"&amp;gt;#{menu.label}&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/c:forEach&amp;gt;&lt;br /&gt;
&amp;lt;/ui:fragment&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; &lt;/div&gt;
&lt;br /&gt;
Modify the &lt;em&gt;home.xhtml&lt;/em&gt; page to include &lt;em&gt;sideMenuFragment.xhtml&lt;/em&gt; as shown below.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: rgb(224,224,224); width: 605px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:f="http://java.sun.com/jsf/core"&amp;gt;&lt;br /&gt;
&amp;lt;ui:composition template="WEB-INF/templates/insertTemplate.xhtml"&amp;gt;&lt;br /&gt;
&amp;lt;ui:define name="sidemenu"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ui:include src="&lt;span style="background-color: yellow;"&gt;sideMenuFragment.xhtml&lt;/span&gt;" /&amp;gt;&lt;br /&gt;
&amp;lt;/ui:define&amp;gt; &lt;br /&gt;
&amp;lt;ui:define name="content"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is an example of a simple Facelets template.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Here Header and Footer appears from template.(inserTemplate.xhtml)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Side Menu appears from sideMenu.xhtml&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This section appears from templateClient.(home.xhtml)&lt;br /&gt;
&amp;lt;/ui:define&amp;gt;&lt;br /&gt;
&amp;lt;/ui:composition&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
The following screenshot displays the result of the Facelets &lt;em&gt;&amp;lt;ui : fragment&amp;gt;&lt;/em&gt; tag. The difference between the previous example and this&amp;nbsp;result is that&amp;nbsp;this side menu is surrounded or "decorated" by the &amp;lt;div&amp;gt; element which gives a &lt;em&gt;red&lt;/em&gt; border to the side menu. Any text before or after the &lt;em&gt;&amp;lt;ui : fragment&amp;gt;&lt;/em&gt; tag is still rendered on the page.&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div align="center" class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_VmQU3f52iZk/S80SpKPwsAI/AAAAAAAAFbA/aA4q2PPuH78/s1600/UIFragmentExample.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="340" src="http://4.bp.blogspot.com/_VmQU3f52iZk/S80SpKPwsAI/AAAAAAAAFbA/aA4q2PPuH78/s400/UIFragmentExample.JPG" width="400" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
If&amp;nbsp; look closely into this and the previous facelets tutorials, one thing you can find about the &lt;em&gt;sideMenu.xhtml&lt;/em&gt;, which is&amp;nbsp;not good from the facelets resuability perspective. This &lt;em&gt;xhtml&lt;/em&gt; file is directly refering the &lt;em&gt;menuBackingBean&lt;/em&gt;&amp;nbsp; property&amp;nbsp;&lt;em&gt;'menus'&lt;/em&gt;. If we could pass this property as variable from the calling facelet, then &lt;em&gt;sideMenu.xhtml&lt;/em&gt; will be more reusable. The&lt;em&gt; ui:param&lt;/em&gt; tag will help up to achive this. Click &lt;em&gt;'Next'&lt;/em&gt; to learn more about &lt;em&gt;ui: param&lt;/em&gt; Tag.&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-fragment-tag.html#top"&gt;Back To Top &amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/04/facelets-ui-component-tag-3.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2009/04/ui-param-tag.html"&gt;Next &amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-4699195755755352164?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/-RLtEuv3sz0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/4699195755755352164?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/4699195755755352164?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/-RLtEuv3sz0/facelets-ui-fragment-tag.html" title="Facelets Tutorial : UI Fragment Tag" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_VmQU3f52iZk/S80SpKPwsAI/AAAAAAAAFbA/aA4q2PPuH78/s72-c/UIFragmentExample.JPG" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2010/04/facelets-ui-fragment-tag.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEHRnk7fyp7ImA9Wx5TFkQ.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-1366173147426828871</id><published>2009-04-18T19:10:00.000-07:00</published><updated>2010-08-01T12:23:57.707-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T12:23:57.707-07:00</app:edited><title>Facelets Tutorial : UI Component Tag-3</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GcRpx4PZhgGRi95QeCU_-8QfXKs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GcRpx4PZhgGRi95QeCU_-8QfXKs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GcRpx4PZhgGRi95QeCU_-8QfXKs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GcRpx4PZhgGRi95QeCU_-8QfXKs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag_18.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-fragment-tag.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-large;"&gt;&lt;b&gt;UI Component&amp;nbsp;Tag - Part 3&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Create a JSF Facelets Page&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Right-mouse click on the &lt;i&gt;WebContent &lt;/i&gt;folder of JSFFaceletsExample application, select &lt;i&gt;New&lt;/i&gt;-&amp;gt;&lt;i&gt;HTML Page&lt;/i&gt; to launch the &lt;i&gt;HTML Page &lt;/i&gt;wizard. Type the file name &lt;i&gt;sideMenu.xhtml&lt;/i&gt; and click '&lt;i&gt;Next&lt;/i&gt;'. In the Select Templates page of the wizard, select the '&lt;i&gt;New Facelet Composition Page&lt;/i&gt;'. Click '&lt;i&gt;Finish&lt;/i&gt;'. The page will be opened in the Web Page Editor.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
The&amp;nbsp;&lt;i&gt;&amp;lt;ui:component&amp;gt;&lt;/i&gt; tag can be included into&amp;nbsp; sideMenu.xhtml just like &lt;i&gt;&amp;lt;ui:composition&amp;gt;&lt;/i&gt; tag: Inside the &lt;i&gt;&amp;lt;ui:component&amp;gt;&lt;/i&gt; tag we are including a &lt;i&gt;&amp;lt;c:forEach&amp;gt;&lt;/i&gt; tag. The &lt;i&gt;c:forEach&lt;/i&gt; tag in the core JSTL library is&amp;nbsp; most useful&amp;nbsp;whenever it is necessary to iterate over data. The example below shows a simple usage of the &lt;i&gt;c:forEach&lt;/i&gt; tag which acquires it's data from a bean called &lt;i&gt;menuBackingBean &lt;/i&gt;wraps a collection of &lt;i&gt;MenuItem &lt;/i&gt;objects. The &lt;i&gt;c:forEach&lt;/i&gt; iterates over the &lt;i&gt;MenuItems &lt;/i&gt;producing one row for each &lt;i&gt;MenuItem&amp;nbsp;&lt;/i&gt; Each &lt;i&gt;MenuItem &lt;/i&gt;has a &lt;i&gt;url&lt;/i&gt;, and &lt;i&gt;label &lt;/i&gt;properties.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
See the full &lt;i&gt;sideMenu.xhtml&lt;/i&gt; below: &lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: rgb(224,224,224); width: 600px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:f="http://java.sun.com/jsf/core" &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:c="http://java.sun.com/jstl/core"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; This text will not be rendered.&lt;br /&gt;
&amp;lt;ui:component&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;c:forEach var="menu" items="#{menuBackingBean.menus}"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href="#{menu.url}"&amp;gt;#{menu.label}&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/c:forEach&amp;gt;&lt;br /&gt;
&amp;lt;/ui:component&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we can include &lt;i&gt;sideMenu.xhtml&lt;/i&gt; in our main page &lt;i&gt;home.xhtml&lt;/i&gt; as follows.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: rgb(224,224,224); width: 605px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:f="http://java.sun.com/jsf/core"&amp;gt;&lt;br /&gt;
&amp;lt;ui:composition template="WEB-INF/templates/insertTemplate.xhtml"&amp;gt;&lt;br /&gt;
&amp;lt;ui:define name="sidemenu"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ui:include src="sideMenu.xhtml" /&amp;gt;&lt;br /&gt;
&amp;lt;/ui:define&amp;gt; &lt;br /&gt;
&amp;lt;ui:define name="content"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is an example of a simple Facelets template.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Here Header and Footer appears from template.(inserTemplate.xhtml)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Side Menu appears from sideMenu.xhtml&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This section appears from templateClient.(home.xhtml)&lt;br /&gt;
&amp;lt;/ui:define&amp;gt;&lt;br /&gt;
&amp;lt;/ui:composition&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Run your webapplication&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
To run your web application, right click on &lt;i&gt;home&lt;/i&gt;.&lt;i&gt;xhtml&lt;/i&gt;, click- &amp;gt;run as -&amp;gt; run on server.&lt;br /&gt;
Select the server type ,Apache Tomacat v6.0 Server.Click Fininsh.&lt;br /&gt;
&lt;br /&gt;
Open a web browser and type the url : &lt;span style="background-color: #cccccc;"&gt;http://localhost:8080/JSFFaceletsExample/home.xhtml&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Your page will be rendered&amp;nbsp;like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_VmQU3f52iZk/S80DsS6uxRI/AAAAAAAAFaw/ZxYZszRXW_A/s1600/UiComponentExample.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="353" src="http://3.bp.blogspot.com/_VmQU3f52iZk/S80DsS6uxRI/AAAAAAAAFaw/ZxYZszRXW_A/s400/UiComponentExample.JPG" width="400" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/04/facelets-ui-component-tag-3.html#top"&gt;Back To Top &amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag_18.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-fragment-tag.html"&gt;Next&amp;nbsp;&amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-1366173147426828871?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/weSU5bY628Y" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/1366173147426828871?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/1366173147426828871?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/weSU5bY628Y/facelets-ui-component-tag-3.html" title="Facelets Tutorial : UI Component Tag-3" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_VmQU3f52iZk/S80DsS6uxRI/AAAAAAAAFaw/ZxYZszRXW_A/s72-c/UiComponentExample.JPG" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2009/04/facelets-ui-component-tag-3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8GRn04cSp7ImA9Wx5TFkQ.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-2964903257266949320</id><published>2009-04-18T18:49:00.000-07:00</published><updated>2010-08-01T12:27:07.339-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T12:27:07.339-07:00</app:edited><title>Facelets Tutorial : UI Component Tag</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-k0cz4z2_A5UZPTmWUeTCfYJM7M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-k0cz4z2_A5UZPTmWUeTCfYJM7M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-k0cz4z2_A5UZPTmWUeTCfYJM7M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-k0cz4z2_A5UZPTmWUeTCfYJM7M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;a href="http://jsflessons.blogspot.com/2009/04/facelets-ui-component-tag-3.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-large;"&gt;&lt;b&gt;UI Component&amp;nbsp;Tag - Part 2&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;Creating a Menu Backing Bean&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Now we will create a backing bean 
which holds the list of&amp;nbsp; &lt;i&gt;MenuItems&lt;/i&gt;. Below shown&amp;nbsp; is the &lt;i&gt;MenuBackingBean.java&lt;/i&gt;
 class &lt;/div&gt;
&lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
package 
com.jsflessons.facelets.example;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import
 java.util.Collection;&lt;br /&gt;
public class MenuBackingBean {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
private Collection&amp;lt;MenuItem&amp;gt; menus;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public 
Collection&amp;lt;MenuItem&amp;gt; getMenus() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return menus;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setMenus(Collection&amp;lt;MenuItem&amp;gt; menus) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 this.menus = menus;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public MenuBackingBean() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 super();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; menus = new ArrayList&amp;lt;MenuItem&amp;gt;();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 menus.add(new MenuItem("home.xhtml", "Home"));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
menus.add(new MenuItem("news.xhtml", "News"));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;menus.add(new
 MenuItem("articles.xhtml", "Articles"));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; menus.add(new 
MenuItem("about.xhtml", "About Us"));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Configure the managed bean in faces-config.xml.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
In the Project Explorer, expand the 
node, &lt;i&gt;JSFFaceletsExample-&lt;/i&gt;&amp;gt;&lt;i&gt;WebContent&lt;/i&gt;. Double-click on &lt;i&gt;faces-config.xml&lt;/i&gt;.
 This will launch the Faces Configuration editor. Select the &lt;i&gt;ManagedBean&lt;/i&gt;
 tab. Click on the &lt;i&gt;Add&lt;/i&gt; button. This will launch the &lt;i&gt;New 
Managed Bean&lt;/i&gt; wizard. Select the option, "&lt;i&gt;Using an existing Java 
class&lt;/i&gt;". In the next wizard panel, search for the class we created, &lt;i&gt;MenuBackingBean.java&lt;/i&gt;.
 Click &lt;i&gt;Ok&lt;/i&gt; button. Select the scope as &lt;i&gt;request &lt;/i&gt;and click &lt;i&gt;Finish&lt;/i&gt;.
 &lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Now we have registered &lt;i&gt;MenuBackingBean.java&lt;/i&gt;
 class as a managed bean. Save the Faces Configuration editor. Select 
source tab. Your&amp;nbsp; &lt;i&gt;faces-config.xml &lt;/i&gt;file should have the following
 code. &lt;/div&gt;
&lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 620px;"&gt;
&amp;lt;managed-bean&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;managed-bean-name&amp;gt;menuBackingBean&amp;lt;/managed-bean-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;managed-bean-class&amp;gt;com.jsflessons.facelets.example.MenuBackingBean&amp;lt;/managed-bean-class&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
 &amp;lt;managed-bean-scope&amp;gt;session&amp;lt;/managed-bean-scope&amp;gt;&lt;br /&gt;
&amp;lt;/managed-bean&amp;gt;&lt;/div&gt;
&lt;br /&gt;
Now we need to create facelets page for the 'side menu'. (Click Next to Continue..)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag_18.html#top"&gt;Back To Top &amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2009/04/facelets-ui-component-tag-3.html"&gt;Next&amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-2964903257266949320?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/6vNHbCqnGrM" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/2964903257266949320?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/2964903257266949320?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/6vNHbCqnGrM/facelets-ui-component-tag_18.html" title="Facelets Tutorial : UI Component Tag" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag_18.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4ER3g_fSp7ImA9Wx5TFkQ.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-661423286512672110</id><published>2009-04-18T18:44:00.000-07:00</published><updated>2010-08-01T12:28:26.645-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T12:28:26.645-07:00</app:edited><title>Facelets Tutorial : UI Component Tag</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XJnFDNEqUkiaVH_SZ9uIq9bO6sA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XJnFDNEqUkiaVH_SZ9uIq9bO6sA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XJnFDNEqUkiaVH_SZ9uIq9bO6sA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XJnFDNEqUkiaVH_SZ9uIq9bO6sA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/ui-decorate-tag.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag_18.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-large;"&gt;&lt;b&gt;UI Component&amp;nbsp;Tag&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div style="clear: left; float: left; margin-right: 1em" &gt;&lt;br/&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3454326745571458";
/* 160x600, Text Add 7/3/10 */
google_ad_slot = "3039515870";
google_ad_width = 160;
google_ad_height = 600;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Facelets supports two tags that function as components, &lt;i&gt;ui:component&lt;/i&gt;&amp;nbsp; and &lt;i&gt;ui:fragment&lt;/i&gt;. The &lt;i&gt;ui:component&lt;/i&gt; tag is just like the &lt;i&gt;ui:composition&lt;/i&gt; tag, except the fact that, it&amp;nbsp; insert a new JSF UI Component object into the component tree, which becomes the root for all of the tag’s child elements. The&amp;nbsp;&lt;i&gt;ui:fragment&lt;/i&gt; tag&amp;nbsp;is the nontrimming counterpart of &lt;i&gt;ui:component&lt;/i&gt;, just as the &lt;i&gt;ui:composition&lt;/i&gt; tag has &lt;i&gt;ui:decorate&lt;/i&gt;.&amp;nbsp; The ui:component and ui:fragment&amp;nbsp;tags support two of the Faces common attributes, &lt;i&gt;id&lt;/i&gt; and &lt;i&gt;binding,&lt;/i&gt; but&amp;nbsp;both are not required attributes&lt;i&gt;.&lt;/i&gt;&amp;nbsp;This &lt;i&gt;binding&lt;/i&gt; attribute links the component tag to&amp;nbsp;a property of a JavaBean. If that target property did not have a UIComponent instance assigned already, JavaServer Faces will lazily create an instance for you and set it on your JavaBean before continuing with building the tree. These two tags&amp;nbsp;makes component development simpler and faster in JSF. Let us&amp;nbsp;see how to use these tags to create components with some examples.&lt;br /&gt;
&lt;br /&gt;
In the following example, we are going to replace the 'side menu' in the previous example with the &lt;i&gt;ui:component&lt;/i&gt; tag. In the previous example the 'side menu' got displayed form the template file &lt;i&gt;insertTemplate.xhtml&lt;/i&gt;. Here we will create the menu in a separate xhtml file (&lt;i&gt;sideMenu.xhtml)&lt;/i&gt;, using the &lt;i&gt;ui:component&lt;/i&gt; tag. Finally, we will include this page in the template client (&lt;i&gt;home.xhtml) &lt;/i&gt;, inside the &lt;i&gt;ui:define&lt;/i&gt; tag. First we need to create a Java class MenuItem which holds the url and label of the items in the side menu. &lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Create a new Java Class&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Now, we will create a&amp;nbsp;Java Class MenuItem.java file. It's a simple Java bean with two attributes &lt;i&gt;url&lt;/i&gt; and &lt;i&gt;label&lt;/i&gt; and setter/getter methods for these attributes. Right-mouse click on the &lt;i&gt;JavaResources:src&lt;/i&gt; folder of &lt;i&gt;JSFFaceletsExample&lt;/i&gt; project, select &lt;i&gt;New&lt;/i&gt;-&amp;gt; &lt;i&gt;Class&lt;/i&gt; to launch the Java Class wizard. In the wizard enter the package name as, &lt;i&gt;com.jsflessons.facelets.example&lt;/i&gt; and the Name of the class as &lt;i&gt;MenuItem&lt;/i&gt;. Click the &lt;i&gt;Finish&lt;/i&gt; button.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="background: rgb(224,224,224); width: 600px;"&gt;
package com.jsflessons.facelets.example;&lt;br /&gt;
public class MenuItem {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private String url;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; private String label;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getUrl() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return url;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUrl(String url) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.url = url;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getLabel() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return label;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setLabel(String label) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.label = label;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public MenuItem() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public MenuItem(String url, String label) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.url = url;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.label = label;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
}&lt;/div&gt;
&lt;br /&gt;
Now we will create a backing bean which holds the list of&amp;nbsp; &lt;i&gt;MenuItems&lt;/i&gt;. (click Next to continue) &lt;br /&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag.html#top"&gt;Back To Top &amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/ui-decorate-tag.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag_18.html"&gt;Next &amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-661423286512672110?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/DPGGVntMKw4" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/661423286512672110?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/661423286512672110?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/DPGGVntMKw4/facelets-ui-component-tag.html" title="Facelets Tutorial : UI Component Tag" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4HRn0yfCp7ImA9Wx5TFkQ.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-6962814951346273512</id><published>2009-04-16T19:39:00.000-07:00</published><updated>2010-08-01T12:28:57.394-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T12:28:57.394-07:00</app:edited><title>Facelets Tutorial : UI Decorate Tag</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dmRLo9P9NNiyhbecfy-I7qasQVg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dmRLo9P9NNiyhbecfy-I7qasQVg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dmRLo9P9NNiyhbecfy-I7qasQVg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dmRLo9P9NNiyhbecfy-I7qasQVg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/03/templating-in-facelets-part-2.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br/&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-size: x-large;"&gt;&lt;b&gt;Templating using UI Decorate Tag&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;&lt;b&gt;ui: decorate&lt;/b&gt;&amp;gt; tag is a templating tag.&amp;nbsp;This tag has a required &lt;i&gt;template&lt;/i&gt; attribute and behaves like the &amp;lt;ui:composition&amp;gt; tag. This attribute is set to the path of the template file where the content of this tag will be included. Unlike &amp;lt;ui:composition&amp;gt;, any content outside of the &amp;lt; ui: decorate&amp;gt; tag will be displayed by the Facelets view handler. Any content within the &amp;lt; ui: decorate&amp;gt; tag will be passed to the associated template as parameters or simply ignored.&lt;/div&gt;
&lt;br /&gt;
We will modify the previous example and see how the decorate tag works: &lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:f="http://java.sun.com/jsf/core"&amp;gt;&lt;br /&gt;
&amp;lt;div style=" background-color: #ddeeff; border: 2px solid red"&amp;gt;&lt;br /&gt;
&amp;lt;ui:decorate template="WEB-INF/templates/insertTemplate.xhtml"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ui:define name="content"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This is an example of a simple Facelets template.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Here Header, Footer and Side Menu bar appears from template.(insertTemplate.xhtml)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This section appears from templateClient.(home.xhtml)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ui:define&amp;gt;&lt;br /&gt;
&amp;lt;/ui:decorate&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; &lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
The following screenshot displays the result of the Facelets&amp;nbsp;&amp;lt;ui:decorate&amp;gt; tag. The result is that our content is surrounded or "decorated" by the &amp;lt;div&amp;gt; element which gives a background color and a red border to the page. Any text before or after the &amp;lt;ui:decorate&amp;gt; tag&amp;nbsp;is still rendered on the page.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S79mrh-Jw4I/AAAAAAAAFZ4/UoTpKSGvklI/s1600/uidecorateExample.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S79mrh-Jw4I/AAAAAAAAFZ4/UoTpKSGvklI/s400/uidecorateExample.JPG" width="311" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;
.&lt;br /&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/04/ui-decorate-tag.html#top"&gt;Back To Top &amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/03/templating-in-facelets-part-2.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2010/04/facelets-ui-component-tag.html"&gt;Next &amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-6962814951346273512?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/kF0iqq3hnEY" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/6962814951346273512?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/6962814951346273512?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/kF0iqq3hnEY/ui-decorate-tag.html" title="Facelets Tutorial : UI Decorate Tag" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_VmQU3f52iZk/S79mrh-Jw4I/AAAAAAAAFZ4/UoTpKSGvklI/s72-c/uidecorateExample.JPG" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2010/04/ui-decorate-tag.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4DQXo7fip7ImA9Wx5TFkQ.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-7148459628983608453</id><published>2009-04-16T14:28:00.000-07:00</published><updated>2010-08-01T12:29:30.406-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T12:29:30.406-07:00</app:edited><title>Custom Tags</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oimcY38Mmgwwz3Cv7gqpdct6KrM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oimcY38Mmgwwz3Cv7gqpdct6KrM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oimcY38Mmgwwz3Cv7gqpdct6KrM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oimcY38Mmgwwz3Cv7gqpdct6KrM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/04/ui-param-tag.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;a href="http://jsflessons.blogspot.com/2009/04/jsf-shopping.html"&gt;Next&amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style="font-size: x-large;"&gt;Creating a Custom tags in&amp;nbsp;Facelets&lt;/span&gt;&lt;/strong&gt;&lt;br/&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Like JSF, &lt;em&gt;Facelets&lt;/em&gt; is also easily extensible, by allowing us to create and modify &lt;em&gt;Tags&lt;/em&gt;, &lt;em&gt;Converters&lt;/em&gt;, &lt;em&gt;Validators&lt;/em&gt; etc. Here we are going to see how&amp;nbsp;to create a simple &amp;nbsp;&lt;em&gt;Custom Tag&lt;/em&gt; in facelets. There are different ways you can create a &lt;em&gt;Custom Tags&lt;/em&gt; in JSF. The one we are going to try now,&amp;nbsp;don't even need a single line of Java code.&amp;nbsp;This tag is going to use an external view file, like &lt;em&gt;sideMenu.xhtml&lt;/em&gt;,&amp;nbsp;the one we created in the previous Facelet Tutorial. This source file will be complied in to the Facelet from where this tag is invoked.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
All the Custom Tags in Facelets should be declared in a Facelets taglib. A Facelets tag library is a collection of custom tags identified by an XML namespace.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;strong&gt;Create a Facelets tag library&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Create a folder "&lt;em&gt;facelets&lt;/em&gt;" in &lt;em&gt;WebContent/WEB-INF&lt;/em&gt; folder of JSFFaceletsExample application. Right-mouse click on the &lt;em&gt;WebContent/WEB-INF/facelets&lt;/em&gt; folder, select &lt;em&gt;New&lt;/em&gt;-&amp;gt;&lt;em&gt;XML&amp;nbsp;&lt;/em&gt; to launch the XML&amp;nbsp;File wizard. Type the file name &lt;em&gt;mytags.taglib.xml&lt;/em&gt; and click &lt;em&gt;'Next'&lt;/em&gt;. &lt;/div&gt;
&lt;br /&gt;
Select the option &lt;em&gt;'Create XML file from a DTD file'&lt;/em&gt; and click &lt;em&gt;'Next'&lt;/em&gt;.&lt;br /&gt;
&lt;div align="center"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S94McjmSLMI/AAAAAAAAFl4/H-pSLqPeCuY/s1600/XMLFileFromDTD.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="162" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S94McjmSLMI/AAAAAAAAFl4/H-pSLqPeCuY/s400/XMLFileFromDTD.JPG" tt="true" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Select the option &lt;em&gt;'Select XML Catalog entry'&lt;/em&gt;&amp;nbsp;and select the 'XML Catalog', which says&amp;nbsp;&lt;em&gt;DTD Facelet Taglib 1.0&lt;/em&gt; and click &lt;em&gt;'Next'&lt;/em&gt;.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_VmQU3f52iZk/S94Mk9T8fcI/AAAAAAAAFmA/7rpjkJk6RcA/s1600/SelectDTD.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="247" src="http://4.bp.blogspot.com/_VmQU3f52iZk/S94Mk9T8fcI/AAAAAAAAFmA/7rpjkJk6RcA/s400/SelectDTD.JPG" tt="true" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Click '&lt;em&gt;Finish'&lt;/em&gt;.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S94Ms6EtwqI/AAAAAAAAFmI/GCI3Dqmglag/s1600/SelectRootElement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="307" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S94Ms6EtwqI/AAAAAAAAFmI/GCI3Dqmglag/s400/SelectRootElement.JPG" tt="true" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The following is an example of the tag library:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: #e0e0e0; width: 600px;"&gt;
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems,&lt;br /&gt;
&amp;nbsp;Inc.//DTD Facelet Taglib 1.0//EN" "facelet-taglib_1_0.dtd" &amp;gt;&lt;br /&gt;
&amp;lt;facelet-taglib&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;namespace&amp;gt;http://risksoft.com/facelets&amp;lt;/namespace&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;tag&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tag-name&amp;gt;menu&amp;lt;/tag-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;source&amp;gt;../tags/menu.xhtml&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tag&amp;gt;&lt;br /&gt;
&amp;lt;/facelet-taglib&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
This facelets Tutorial Tag library only defines one tag but all of the tags being used in the application should be defined in the same tag library file. Note the namespace element that is declared before the tag element, it will be used in the facelets page.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
We have decided to call the tag library namespace &lt;em&gt;http://risksoft.com/facelets&lt;/em&gt; and will need to declare this namespace in any pages where we are using the custom component. After the namespace definition, we can find the tag element that defines our brand new tag. The tag-name element refers to the name we want to give to the tag, which in our case is&amp;nbsp;&lt;em&gt;menu.&lt;/em&gt; The source element contain the relative path to the tag file (&lt;em&gt;menu.xhtml&lt;/em&gt;). The next step is to declare the taglib in web.xml.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;strong&gt;Declare the Facelets custom taglib in web.xml&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
In order to use the taglib, you have to make Facelets aware of its existence by declaring it in the web.xml file. Declare a Facelets tag library in a &amp;lt;context-param&amp;gt; element (&lt;em&gt;facelets.LIBRARIES&lt;/em&gt;)&amp;nbsp; in the &lt;em&gt;web. xml&lt;/em&gt; file. This will tell Facelets the that tag library exists so it can use the taglib.&lt;/div&gt;
&lt;br /&gt;
The following code shows how it should be declared in &lt;em&gt;web.xml&lt;/em&gt;&lt;br /&gt;
&lt;div style="background: #e0e0e0; width: 600px;"&gt;
&amp;lt;context-param&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;param-name&amp;gt;facelets.LIBRARIES&amp;lt;/param-name&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;param-value&amp;gt;/WEB-INF/facelets/mytags.taglib.xml&amp;lt;/param-value&amp;gt;&lt;br /&gt;
&amp;lt;/context-param&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;strong&gt;Creating the source file&lt;/strong&gt;&lt;br /&gt;
We have already declare the source file &lt;em&gt;menu&lt;/em&gt;.&lt;em&gt;xhtml&lt;/em&gt; in the taglib. Now it is time to create one. This file is not different from the &lt;em&gt;sideMenu.xhtml&lt;/em&gt; from the previous Facelets tutorial.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Create a folder "&lt;em&gt;tags&lt;/em&gt;" in &lt;em&gt;WebContent/WEB-INF&lt;/em&gt; folder of JSFFaceletsExample application. Now we need to create a&amp;nbsp; page called, &lt;em&gt;menu.xhtml&lt;/em&gt; in the &lt;em&gt;WebContent/WEB-INF/tags&lt;/em&gt; folder of the application. Right-mouse click on the &lt;em&gt;WebContent/WEB-INF/tags&lt;/em&gt; folder, select &lt;em&gt;New&lt;/em&gt;-&amp;gt;&lt;em&gt;HTML Page&lt;/em&gt; to launch the HTML Page wizard. Type the file name &lt;em&gt;menu.xhtml&lt;/em&gt; and click &lt;em&gt;'Finish'&lt;/em&gt;. The page will be opened in the Web Page Editor.&lt;/div&gt;
Modify the page as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: #e0e0e0; width: 600px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
xmlns:f="http://java.sun.com/jsf/core" &lt;br /&gt;
xmlns:c="http://java.sun.com/jstl/core"&amp;gt;&lt;br /&gt;
&amp;lt;ui:component&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;c:forEach var="menu" items="#{menus}"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href="#{menu.url}"&amp;gt;#{menu.label}&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/c:forEach&amp;gt;&lt;br /&gt;
&amp;lt;/ui:component&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;strong&gt;Using the Tag in a Facelets page&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Once the taglib file has been created and defined in the tag library, &amp;nbsp;its ready to be used. To use the Custom tag in a facelets view file (home.xhtml), declare it as an XML namespace, shown below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: #e0e0e0; width: 600px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
xmlns:f="http://java.sun.com/jsf/core" &lt;br /&gt;
&lt;span style="background-color: yellow;"&gt;xmlns:rs="http://risksoft.com/facelets&lt;/span&gt;" &amp;gt;&lt;br /&gt;
&amp;lt;ui:composition template="WEB-INF/templates/insertTemplate.xhtml"&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;ui:define name="sidemenu"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rs:menu menus="#{menuBackingBean.menus}"/&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/ui:define&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;ui:define name="content"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This is an example of a simple Facelets template.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Here Header and Footer&amp;nbsp; appears from template.(insertTemplate.xhtml)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Side Menu appears from menu.xhtml&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This section appears from templateClient.(home.xhtml)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/ui:define&amp;gt;&lt;br /&gt;
&amp;lt;/ui:composition&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; &lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Run your webapplication&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
To run your web application, right click on &lt;i&gt;home&lt;/i&gt;.&lt;i&gt;xhtml&lt;/i&gt;, click- &amp;gt;run as -&amp;gt; run on server.&lt;br /&gt;
Select the server type ,Apache Tomacat v6.0 Server.Click Fininsh.&lt;br /&gt;
&lt;br /&gt;
Open a web browser and type the url : &lt;span style="background-color: #cccccc;"&gt;http://localhost:8080/JSFFaceletsExample/home.xhtml&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Your page will be rendered&amp;nbsp;like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_VmQU3f52iZk/S80DsS6uxRI/AAAAAAAAFaw/ZxYZszRXW_A/s1600/UiComponentExample.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="353" src="http://3.bp.blogspot.com/_VmQU3f52iZk/S80DsS6uxRI/AAAAAAAAFaw/ZxYZszRXW_A/s400/UiComponentExample.JPG" width="400" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/04/creating-custom-tags-in-create-facelets.html#top"&gt;Back To Top &amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/04/ui-param-tag.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2009/04/jsf-shopping.html"&gt;Next&amp;nbsp;&amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-7148459628983608453?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/jXVgOSgnIA0" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/7148459628983608453?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/7148459628983608453?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/jXVgOSgnIA0/creating-custom-tags-in-create-facelets.html" title="Custom Tags" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_VmQU3f52iZk/S94McjmSLMI/AAAAAAAAFl4/H-pSLqPeCuY/s72-c/XMLFileFromDTD.JPG" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2009/04/creating-custom-tags-in-create-facelets.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMBR30-cSp7ImA9Wx9RFkU.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-4727455852880985775</id><published>2009-04-11T16:16:00.000-07:00</published><updated>2010-12-18T08:07:36.359-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-18T08:07:36.359-08:00</app:edited><title>JSF Shopping</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pAOsH71qPt8RDoGfYzWOUH-MZO0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pAOsH71qPt8RDoGfYzWOUH-MZO0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pAOsH71qPt8RDoGfYzWOUH-MZO0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pAOsH71qPt8RDoGfYzWOUH-MZO0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Books&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1590599047&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0071625097&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1430210559&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;a href="http://www.amazon.com/dp/1430210559?tag=jayblo-20&amp;amp;camp=213761&amp;amp;creative=393545&amp;amp;linkCode=bpl&amp;amp;creativeASIN=1430210559&amp;amp;adid=0VXJMAR5ZHXPRRD047F9&amp;amp;" target="_blank"&gt;&lt;/a&gt;&lt;br /&gt;
&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596005393&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0131738860&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1590597370&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0471462071&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1932394125&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=184719608X&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1847193250&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0764574833&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1430210095&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1932394885&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1590596935&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=8184047053&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1933988134&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596007124&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=jayblo-20&amp;amp;l=bil&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0596009208" style="border: medium none ! important; margin: 0px ! important; padding: 0px ! important;" width="1" /&gt;&lt;a href="http://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208" target="_blank"&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596009208&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;/a&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1934356565&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;
&lt;br /&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1933988649&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1932394885&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1933988177&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0615204252&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1847195881&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="http://jsflessons.blogspot.com/2009/04/creating-custom-tags-in-create-facelets.html"&gt;&amp;nbsp; &amp;lt;&amp;lt;&amp;nbsp;Previous&amp;nbsp;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/"&gt;Home&amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;

&lt;br /&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-4727455852880985775?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/fvMaCLujVjU" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/4727455852880985775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/4727455852880985775?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/fvMaCLujVjU/jsf-shopping.html" title="JSF Shopping" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://jsflessons.blogspot.com/2009/04/jsf-shopping.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQFQXs_eip7ImA9Wx9REk0.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-3730926639023845713</id><published>2009-03-28T14:02:00.000-07:00</published><updated>2010-12-12T18:11:50.542-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-12T18:11:50.542-08:00</app:edited><title>Facelets Tutorial : Templating</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/112z_4ISjIqwatWfkQs_qdVNabw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/112z_4ISjIqwatWfkQs_qdVNabw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/112z_4ISjIqwatWfkQs_qdVNabw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/112z_4ISjIqwatWfkQs_qdVNabw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;&lt;div style="text-align: right;"&gt;
&lt;br/&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/03/templating-in-facelets.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://jsflessons.blogspot.com/2010/04/ui-decorate-tag.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br/&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-size: x-large;"&gt;&lt;b&gt;Templating in Facelets - Part 2&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The &lt;i&gt;insertTemplate.xhtml&lt;/i&gt;&amp;nbsp; page that we created already has three &lt;i&gt;&lt;b&gt;&amp;lt;ui: insert&amp;gt;&lt;/b&gt;&lt;/i&gt; tags for &lt;i&gt;'header'&lt;/i&gt;, &lt;i&gt;'footer'&lt;/i&gt; and 'content'. We have to modify this file to include&amp;nbsp;the &lt;i&gt;header.xhtml&lt;/i&gt; and &lt;i&gt;footer.xhtml&lt;/i&gt;, using the &lt;i&gt;&lt;b&gt;&amp;lt;ui:include&amp;gt;&lt;/b&gt;&lt;/i&gt;&amp;nbsp; tag as follows:&amp;nbsp; &lt;/div&gt;
&lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
&amp;lt;ui: insert name="header"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ui: include src="header.xhtml" /&amp;gt;&lt;br /&gt;
&amp;lt;/ui: insert&amp;gt;&lt;/div&gt;
&lt;br /&gt;
Note : &lt;i&gt;The &amp;lt;ui: include&amp;gt; tag in facelets is similar to the 'JSP include' tag. It's 'src' attribute holds the path&amp;nbsp;of the xhtml file to be included.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
We also need to modify the &lt;i&gt;insertTemplate.xhtml&lt;/i&gt; to accomodate the&lt;i&gt; &lt;/i&gt;side menu. Here we are going to include the entire side menu content directly inside the &amp;lt;ui: insert&amp;gt; tag so that we don't have to define the menu in all the template client pages in the application. The modified &lt;i&gt;insertTemplate.xhtml&lt;/i&gt; is given below.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border: 2px solid grey; height: 356px; margin: 4px auto; overflow-y: scroll; text-align: left; width: 600px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
xmlns:h="http://java.sun.com/jsf/html"&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Facelets example&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body &amp;gt;&lt;br /&gt;
&amp;lt;div style="border-bottom: grey 2px solid; border-left: grey 2px solid; border-right: grey 2px solid; border-top: grey 2px solid; height: 100%; margin: 4px auto; text-align: center; width: 100%;"&amp;gt;&lt;br /&gt;
&amp;lt;ui:insert name="header"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ui:include src="header.xhtml" /&amp;gt;&lt;br /&gt;
&amp;lt;/ui:insert&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;table width="100%" &amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td width="20%"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div style="height: 250px; width: 100%; background-color: #e0e0e0; text-align: center;"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ui:insert name="sidemenu"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h:form&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;h:commandLink value="Home"&amp;gt;&amp;lt;/h:commandLink&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;h:commandLink value="News"&amp;gt;&amp;lt;/h:commandLink&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;h:commandLink value="Articles"&amp;gt;&amp;lt;/h:commandLink&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h:commandLink value="About Us"&amp;gt;&amp;lt;/h:commandLink&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/h:form&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ui:insert&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td width="85%"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ui:insert name="content"&amp;gt;Content displayed from Template &amp;lt;/ui:insert&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;div style="border-bottom: grey 2px solid; border-left: grey 2px solid; border-right: grey 2px solid; border-top: grey 2px solid; height: 100%; margin: 4px auto; text-align: center; width: 100%;"&amp;gt;&lt;br /&gt;
&amp;lt;ui:insert name="footer"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ui:include src="footer.xhtml" /&amp;gt;&lt;br /&gt;
&amp;lt;/ui:insert&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; &lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Create Facelets Template Client Page&lt;/b&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Right-mouse click on the WebContent folder of &lt;i&gt;JSFFaceletsExample&lt;/i&gt; application, select New-&amp;gt;HTML Page to launch the HTML Page wizard. Type the file name &lt;i&gt;home.xhtml&lt;/i&gt; and click 'Next'. In the Select Templates page of the wizard, select the &lt;i&gt;'New Facelet Composition Page'&lt;/i&gt;. Click 'Finish'. The page will be opened in the Web Page Editor.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
As discussed earlier, the &amp;lt;ui:composition&amp;gt; tag in the template client page has a template attribute. We can include the insertTemplate.xhtml&amp;nbsp; in the &lt;i&gt;home.xhtml&lt;/i&gt; page using the template attribute as shown below:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); height: 30px; width: 600px;"&gt;
&amp;lt;ui:composition template="WEB-INF/templates/insertTemplate.xhtml"&amp;gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
The template client page, &lt;i&gt;home.xhtml&lt;/i&gt;&amp;nbsp;contains one &amp;lt;&lt;b&gt;&lt;i&gt;ui:define&lt;/i&gt;&lt;/b&gt;&amp;gt; tag that has the name attribute "&lt;i&gt;content&lt;/i&gt;".&lt;/div&gt;
&lt;span style="background-color: white;"&gt;&lt;span style="background-color: #cccccc;"&gt;&amp;lt;ui:define name="content"&amp;gt;.&lt;/span&gt; The Facelets template&amp;nbsp;page, &lt;i&gt;insertTemplate.xhtml&lt;/i&gt;&amp;nbsp;contains &amp;lt;ui:insert&amp;gt; tag that have the same name "&lt;i&gt;content&lt;/i&gt;".&amp;nbsp;When the browser requests the template client page, &lt;i&gt;home.xhtml,&lt;/i&gt; the content inside the &amp;lt;ui:insert name="content"&amp;gt; tag in &lt;i&gt;insertTemplate.xhtml&lt;/i&gt; will be replaced with content inside &amp;lt;ui:define name="content"&amp;gt; tag in &lt;i&gt;home.xhtml&lt;/i&gt;. In our template client page, we are not including the &amp;lt;ui:define&amp;gt; tags for the other three &amp;lt;ui:insert&amp;gt; tags &lt;i&gt;header&lt;/i&gt;, &lt;i&gt;footer&lt;/i&gt; and &lt;i&gt;sidemenu&lt;/i&gt; declared in the template page, &lt;i&gt;insertTemplate.xhtml.&lt;/i&gt; In that case,&amp;nbsp;the content specified&amp;nbsp;in the&amp;nbsp;&amp;lt;ui:insert&amp;gt; tag of the &lt;i&gt;insertTemplate.xhtml&lt;/i&gt;&amp;nbsp;will be displayed.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The template client page, &lt;i&gt;home.xhtml&lt;/i&gt; looks like this:&lt;/div&gt;
&lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:f="http://java.sun.com/jsf/core"&amp;gt;&lt;br /&gt;
&amp;lt;ui:composition template="WEB-INF/templates/insertTemplate.xhtml"&amp;gt;&lt;br /&gt;
&amp;lt;ui:define name="content"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This is an example of a simple Facelets template.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Here Header, Footer and Side Menu bar appears from template.(insertTemplate.xhtml)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This section appears from templateClient.(home.xhtml)&lt;br /&gt;
&amp;lt;/ui:define&amp;gt;&lt;br /&gt;
&amp;lt;/ui:composition&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Run your webapplication&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
To run your web application, right click on home.xhtml, click- &amp;gt;run as -&amp;gt; run on server.&lt;br /&gt;
Select the server type ,Apache Tomacat v6.0 Server.Click Fininsh.&lt;br /&gt;
&lt;br /&gt;
Open a web browser and type the url : &lt;span style="background-color: #cccccc;"&gt;http://localhost:8080/JSFFaceletsExample/home.xhtml&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Your page will be rendered&amp;nbsp;like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div align="center"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S7JLWFK8G4I/AAAAAAAAFZQ/qaZw6cn6MEE/s1600/SimpleFaceletsTemplatingExample.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="308" nt="true" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S7JLWFK8G4I/AAAAAAAAFZQ/qaZw6cn6MEE/s400/SimpleFaceletsTemplatingExample.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/03/templating-in-facelets-part-2.html#top"&gt;&lt;b&gt;Back To Top&amp;gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/03/templating-in-facelets.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2010/04/ui-decorate-tag.html"&gt;Next&amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-3730926639023845713?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/jGHhLrkxnxw" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/3730926639023845713?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/3730926639023845713?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/jGHhLrkxnxw/templating-in-facelets-part-2.html" title="Facelets Tutorial : Templating" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_VmQU3f52iZk/S7JLWFK8G4I/AAAAAAAAFZQ/qaZw6cn6MEE/s72-c/SimpleFaceletsTemplatingExample.JPG" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2010/03/templating-in-facelets-part-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cMQXgzfCp7ImA9Wx5TFkQ.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-4133727428190961260</id><published>2009-03-22T17:21:00.000-07:00</published><updated>2010-08-01T12:31:20.684-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T12:31:20.684-07:00</app:edited><title>Facelets Tutorial : Simple Facelets Program</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/orrgirZD0O2IWEmEXeg2xIHjEcA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/orrgirZD0O2IWEmEXeg2xIHjEcA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/orrgirZD0O2IWEmEXeg2xIHjEcA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/orrgirZD0O2IWEmEXeg2xIHjEcA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/03/developing-jsf-facelet-application.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://jsflessons.blogspot.com/2009/03/templating-in-facelets.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="font-size: x-large;"&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;Setting up Facelets Development Environment - Part 3&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The &lt;i&gt;web.xml&lt;/i&gt; created for this Facelets project will be different from the JSF- JSP project&amp;nbsp;discussed in the previous &lt;a href="http://jsflessons.blogspot.com/"&gt;example&lt;/a&gt;.&amp;nbsp;Facelets&amp;nbsp;default extention is .xhtml.&amp;nbsp;So in&amp;nbsp;web.xml, the default suffix for a JSF page has been set to XHTML as shown below.&lt;/div&gt;
&amp;nbsp; &lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
&amp;lt;context-param&amp;gt;&lt;br /&gt;
&amp;lt;param-name&amp;gt;javax.faces.DEFAULT_SUFFIX&amp;lt;/param-name&amp;gt;&lt;br /&gt;
&amp;lt;param-value&amp;gt;.xhtml&amp;lt;/param-value&amp;gt;&lt;br /&gt;
&amp;lt;/context-param&amp;gt;&lt;/div&gt;
&lt;br /&gt;
The web.xml file has been updated with the Faces Servlet and servlet-mapping. Include the below shown &amp;lt;servlet-mapping&amp;gt; also in the web.xml.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-name&amp;gt;Faces Servlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url-pattern&amp;gt;*.xhtml&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;lt;/servlet-mapping&amp;gt; &lt;/div&gt;
&lt;br /&gt;
The complete web.xml looks as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border: 2px solid grey; height: 356px; margin: 4px auto; overflow-y: scroll; text-align: left; width: 450px;"&gt;
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;
&amp;lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;display-name&amp;gt;JSFFaceletsExample&amp;lt;/display-name&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;welcome-file-list&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;index.html&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;index.htm&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;index.jsp&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;default.html&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;default.htm&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;welcome-file&amp;gt;default.jsp&amp;lt;/welcome-file&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/welcome-file-list&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;servlet&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-name&amp;gt;Faces Servlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-class&amp;gt;javax.faces.webapp.FacesServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/servlet&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-name&amp;gt;Faces Servlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url-pattern&amp;gt;/faces/*&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;context-param&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-name&amp;gt;javax.faces.STATE_SAVING_METHOD&amp;lt;/param-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-value&amp;gt;client&amp;lt;/param-value&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;context-param&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-name&amp;gt;javax.servlet.jsp.jstl.fmt.localizationContext&amp;lt;/param-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-value&amp;gt;resources.application&amp;lt;/param-value&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;listener&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;listener-class&amp;gt;com.sun.faces.config.ConfigureListener&amp;lt;/listener-class&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/listener&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-name&amp;gt;Faces Servlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url-pattern&amp;gt;*.xhtml&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-name&amp;gt;Faces Servlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url-pattern&amp;gt;*.jsf&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;servlet-name&amp;gt;Faces Servlet&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url-pattern&amp;gt;*.faces&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;context-param&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-name&amp;gt;javax.faces.DEFAULT_SUFFIX&amp;lt;/param-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param-value&amp;gt;.xhtml&amp;lt;/param-value&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&amp;lt;/web-app&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
As mentioned before Facelets is implemented as a JSF&amp;nbsp;View Handler. A JSF ViewHandler is a plug-in that handles the Render Response and Restore View phases of the JSF request-processing life cycle.&amp;nbsp;&amp;nbsp;The faces-config.xml&amp;nbsp;has been updated with &amp;nbsp;FaceletViewHandler as shown below.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
&amp;lt;application&amp;gt;&lt;br /&gt;
&amp;lt;view-handler&amp;gt;com.sun.facelets.FaceletViewHandler&amp;lt;/view-handler&amp;gt;&lt;br /&gt;
&amp;lt;/application&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
To make sure that the project is set up correctly&amp;nbsp;we will create a simple Facelets Program. It simply renders&amp;nbsp;current date&amp;nbsp;within an HTML &amp;lt;h&amp;gt; element. &lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Create a JSF&amp;nbsp;Facelets Page&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Right-mouse click on the WebContent &amp;nbsp;folder of &lt;i&gt;JSFFaceletsExample&lt;/i&gt; project, select New-&amp;gt;HTML Page&amp;nbsp;to launch the HTML Page wizard. In the HTML Page wizard enter the File Name as inlineText.xhtml and click Finish. Note that the extension of Facelets page is .xhtml.&lt;/div&gt;
&lt;br /&gt;
Include the following code&amp;nbsp;in the&amp;nbsp;inlineText.xhtml: &lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;
xmlns:ui="http://java.sun.com/jsf/facelets"&amp;gt;&lt;br /&gt;
&amp;lt;h&amp;gt; Welcome to the world of Facelets&amp;lt;/h&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;h&amp;gt;Current date : #{simpleBackingBean.currentDate}&amp;lt;/h&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;h&amp;gt;Current date : ${simpleBackingBean.currentDate}&amp;lt;/h&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Facelets uses the new EL-API specification with JSF. Unlike JSP we can either use #{ }&amp;nbsp; or ${ } interchangably as shown in the example above. Expressions can be inlined with regular text.&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Create a new Java Class&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Now, we will create a backing bean SimpleBackingBean.java file. It's a simple Java bean with one attribute currentDate &amp;nbsp;and setter/getter methods for the attribute.Right-mouse click on the JavaResources:src folder&amp;nbsp; of &lt;i&gt;JSFFaceletsExample&lt;/i&gt; project,select New-&amp;gt; Class to launch the&amp;nbsp;Java Class&amp;nbsp;wizard. In the wizard&amp;nbsp;enter the package name as, com.jsflessons.facelets.example and the Name of the class as SimpleBackingBean. Click the Finish button.&amp;nbsp;Detailed steps with screen shots are described &lt;a href="http://jsflessons.blogspot.com/#javaclass"&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
package com.jsflessons.facelets.example;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class SimpleBackingBean {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Date currentDate= new Date();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Date getCurrentDate() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return currentDate;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setCurrentDate(Date currentDate) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.currentDate = currentDate;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Configure the managed bean in faces-config.xml.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
In the Project Explorer, expand the node, JSFFaceletsExample-&amp;gt;WebContent. Double-click on faces-config.xml. This will launch the Faces Configuration editor. Select the ManagedBean tab. Click on the Add button. This will launch the New Managed Bean wizard. Select the option, "Using an existing Java class". In the next wizard panel, search for the class we created SimpleBackingBean.java. Click Ok button. Select the scope as request and click Finish. Detailed steps with screen shots are described &lt;a href="http://jsflessons.blogspot.com/p/jsf-beginners-guide-2.html#managedbeanconfig"&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
You&amp;nbsp;have registered SimpleBackingBean.java class as a managed bean. JSF-managed beans are standard JavaBeans that are used to hold user-entered data in JSF applications. Save the Faces Configuration editor. Select source tab. Your final faces-config.xml file should look like this: &lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;
&amp;lt;faces-config xmlns="http://java.sun.com/xml/ns/javaee"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xsi:schemaLocation="http://java.sun.com/xml/ns/javaee &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; version="1.2"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;application&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;view-handler&amp;gt;com.sun.facelets.FaceletViewHandler&amp;lt;/view-handler&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/application&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;managed-bean&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;managed-bean-name&amp;gt;simpleBackingBean&amp;lt;/managed-bean-name&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;managed-bean-class&amp;gt;com.jsflessons.facelets.example.SimpleBackingBean&amp;lt;/managed-bean-class&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;managed-bean-scope&amp;gt;session&amp;lt;/managed-bean-scope&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/managed-bean&amp;gt;&lt;br /&gt;
&amp;lt;/faces-config&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Run your webapplication&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
To run your web application, right click on inlineText.xhtml, click- &amp;gt;run as -&amp;gt; run on server.&lt;br /&gt;
Select the server type ,Apache Tomacat v6.0 Server.Click Fininsh.&lt;br /&gt;
&lt;br /&gt;
Open a web browser and type the url : &lt;span style="background-color: #e0e0e0;"&gt;http://localhost:8080/JSFFaceletsExample/inlineText.xhtml&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/03/simple-facelets-program.html#top"&gt;&lt;b&gt;Back To Top&amp;gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/03/developing-jsf-facelet-application.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2009/03/templating-in-facelets.html"&gt;Next&amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-4133727428190961260?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/j-zFs7R0y_k" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/4133727428190961260?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/4133727428190961260?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/j-zFs7R0y_k/simple-facelets-program.html" title="Facelets Tutorial : Simple Facelets Program" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://jsflessons.blogspot.com/2009/03/simple-facelets-program.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YFRno5fCp7ImA9Wx5TFkQ.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-8550549387626135320</id><published>2009-03-20T20:48:00.000-07:00</published><updated>2010-08-01T12:31:57.424-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T12:31:57.424-07:00</app:edited><title>Facelets Tutorial : Templating</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HnuWfOOktIV1WdYhRVkjDF8JxkQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HnuWfOOktIV1WdYhRVkjDF8JxkQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HnuWfOOktIV1WdYhRVkjDF8JxkQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HnuWfOOktIV1WdYhRVkjDF8JxkQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/03/simple-facelets-program.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://jsflessons.blogspot.com/2010/03/templating-in-facelets-part-2.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br/&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;div style="margin-bottom: 0in; text-align: justify;"&gt;
&lt;span style="font-size: x-large;"&gt;&lt;b&gt;Templating in Facelets&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="clear: left; float: left; margin-right: 1em" &gt;&lt;br/&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3454326745571458";
/* 160x600, Text Add 7/3/10 */
google_ad_slot = "3039515870";
google_ad_width = 160;
google_ad_height = 600;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
As we all know, in most of the web applications, some portion of the content in the home pages is going to be repeated in all pages across the application. Here comes the need for templating. Most of the web frameworks support templating, so is Facelets. Facelets does templating in a way which is ideal for JSF. Here we are going to explore possibilities of re-use in JSF- Facelets Projects.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
To know&amp;nbsp;how templating works in Facelets, first we need to understand the concepts of&amp;nbsp; &lt;i&gt;'Template Client'&lt;/i&gt; and &lt;i&gt;Template&lt;/i&gt;. &lt;i&gt;'Template Client&lt;/i&gt;' is the one which users request. &lt;i&gt;'Template Client'&lt;/i&gt; uses the &lt;i&gt;'Template'&lt;/i&gt;&amp;nbsp; to render the response to the users. The main templating facelets tag used in &lt;i&gt;'template'&lt;/i&gt; file is &lt;b&gt;&amp;lt;ui: insert&amp;gt;.&lt;/b&gt; The corresponding tag in &lt;i&gt;'Template Client' &lt;/i&gt;is &lt;b&gt;&amp;lt;ui:define&amp;gt;&lt;/b&gt;. During the request processing cycle, &amp;lt;ui:define&amp;gt; is mapped to the corresponding &amp;lt;ui:insert&amp;gt; tag based on the value of 'name' attribute in both the tags. For example:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;ui:define name="main"&amp;gt; in '&lt;i&gt;Template Client&lt;/i&gt;' will be mapped to &amp;lt;ui:insert name="main"&amp;gt; '&lt;i&gt;Template&lt;/i&gt;'. What it means is, the content inside the &amp;lt;ui:insert name="main"&amp;gt; tag in '&lt;i&gt;Template&lt;/i&gt;' will be replaced with content inside &amp;lt;ui:define name="main"&amp;gt; tag in '&lt;i&gt;Template Client&lt;/i&gt;'. &lt;/div&gt;
&lt;br /&gt;
&lt;span style="font-size: small;"&gt;&lt;b&gt;UI Composition Tag&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Now we know how the contents in 'template' is replaced with contents in 'template client'. But we didn't figure out how the 'template client' identify the corresponding 'template'. &lt;b&gt;&amp;lt;ui: composition&amp;gt;&lt;/b&gt; is one of the tags available in facelets tag library to define the 'template' for a 'template client'. &amp;lt;ui: composition&amp;gt; tag has an optional 'template' attribute. This attribute is set to the path of the template file where the content of this tag will be included. You can include normal html content in your page but Facelet will render only content that is within&amp;nbsp;&amp;lt;ui:composition&amp;gt; tag. Any content outside of the UI Composition tag will be ignored by the Facelets view handler. &lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_VmQU3f52iZk/S6W5sTgqoAI/AAAAAAAAFXc/RtWv0Iuw85M/s1600-h/f3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="408" src="http://3.bp.blogspot.com/_VmQU3f52iZk/S6W5sTgqoAI/AAAAAAAAFXc/RtWv0Iuw85M/s640/f3.JPG" vt="true" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;Example of Facelets templating&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Let's look at a simple example of Facelets templating. In this Facelets example we are going to create a page with four distinct sections, header, footer, side menu and main content. The following screenshot illustrates how our page will be rendered at runtime: &lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_VmQU3f52iZk/S7JLr1RrBzI/AAAAAAAAFZY/QpYKXx06yNs/s1600/SimpleFaceletsTemplatingExample.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="308" nt="true" src="http://3.bp.blogspot.com/_VmQU3f52iZk/S7JLr1RrBzI/AAAAAAAAFZY/QpYKXx06yNs/s400/SimpleFaceletsTemplatingExample.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;Create Facelets template pages&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Create a folder "&lt;i&gt;templates&lt;/i&gt;" in WebContent/WEB-INF folder of&amp;nbsp; &lt;i&gt;JSFFaceletsExample&lt;/i&gt; application. Now we need to create a template page called, &lt;i&gt;insertTemplate.xhtml&lt;/i&gt;&amp;nbsp;&amp;nbsp; in the WebContent/WEB-INF/templates folder of the application. Right-mouse click on the WebContent/WEB-INF/templates folder, select &lt;i&gt;New-&amp;gt;HTML Page&lt;/i&gt;&amp;nbsp;to launch the HTML Page wizard. Type the file name &lt;i&gt;insertTemplate.xhtml&lt;/i&gt;&amp;nbsp; and click &lt;i&gt;'Next'&lt;/i&gt;. In the Select Templates page of the wizard, select the '&lt;i&gt;New Facelet Template'&lt;/i&gt; as shown below. Click '&lt;i&gt;Finish'&lt;/i&gt;. The page will be opened in the Web Page Editor.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="center" class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S65bA0VFSyI/AAAAAAAAFX4/CxjCO3cbx_o/s1600/selectTemplate.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="267" nt="true" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S65bA0VFSyI/AAAAAAAAFX4/CxjCO3cbx_o/s400/selectTemplate.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
We need to edit the &lt;i&gt;insertTemplate.xhtml&lt;/i&gt; file following the instructions in the file. Create a header and footer templates file to include it in the template file (&lt;i&gt;insertTemplate.xhtml&lt;/i&gt;). &lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Create header template file&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Right-mouse click on the WebContent/WEB-INF/templates folder, select &lt;i&gt;New-&amp;gt;HTML Page&lt;/i&gt; to launch the HTML Page wizard. Type the file name &lt;i&gt;header.xhtml&lt;/i&gt; and click 'Next'. In the Select Templates page of the wizard, select the &lt;i&gt;New Facelet Header.&lt;/i&gt; Click &lt;i&gt;Finish&lt;/i&gt;. The page will be opened in the Web Page Editor. Make modifications to the page to meet our requirements. The &lt;i&gt;header.xhtml&lt;/i&gt; file will look like this.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
&amp;lt;?xml version="1.0" encoding="ISO-8859-1" ?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;div style="width:100%;line-height:48px;background-color:#336699;color:white; font-size:30px"&amp;gt;&lt;br /&gt;
JSF Facelets Application&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Create footer template file&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Right-mouse click on the WebContent/WEB-INF/templates folder, select &lt;i&gt;New-&amp;gt;HTML Page&lt;/i&gt; to launch the HTML Page wizard. Type the file name &lt;i&gt;footer.xhtml&lt;/i&gt; and click &lt;i&gt;'Next'&lt;/i&gt;. In the Select Templates page of the wizard, select the &lt;i&gt;New Facelet Footer&lt;/i&gt;. Click '&lt;i&gt;Finish'&lt;/i&gt;. The page will be opened in the Web Page Editor. Make modifications to the page to meet our requirements. The &lt;i&gt;footer.xhtml&lt;/i&gt; file will look like this.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="background: none repeat scroll 0% 0% rgb(224, 224, 224); width: 600px;"&gt;
&amp;lt;?xml version="1.0" encoding="ISO-8859-1" ?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &lt;br /&gt;
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt; &lt;br /&gt;
&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;div style="background-color: #336699; width: 100%; color: #FFFFFF"&amp;gt;@copyright,RISK soft&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;i&gt;Note &lt;/i&gt;: &lt;i&gt;Because of the bug in the version of the eclipse plugin, '%' inside the style attribute values are replaced with '!'. So we have to change it back to '%' (see the screenshot below)&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_VmQU3f52iZk/S66l7jkVtoI/AAAAAAAAFYY/gqZmy23H6eQ/s1600/footer.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="138" nt="true" src="http://4.bp.blogspot.com/_VmQU3f52iZk/S66l7jkVtoI/AAAAAAAAFYY/gqZmy23H6eQ/s640/footer.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp; &lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Now we&amp;nbsp;&amp;nbsp;need to modify the &lt;i&gt;insertTemplate.xhtml&lt;/i&gt; file. Click "Next" to continue.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/03/templating-in-facelets.html#top"&gt;&lt;b&gt;Back To Top&amp;gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/03/simple-facelets-program.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2010/03/templating-in-facelets-part-2.html"&gt;Next&amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-8550549387626135320?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/rn5RTP3nt8I" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/8550549387626135320?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/8550549387626135320?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/rn5RTP3nt8I/templating-in-facelets.html" title="Facelets Tutorial : Templating" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_VmQU3f52iZk/S6W5sTgqoAI/AAAAAAAAFXc/RtWv0Iuw85M/s72-c/f3.JPG" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2009/03/templating-in-facelets.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MBRncycSp7ImA9Wx5TFkQ.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-6229466136738598912</id><published>2009-03-18T08:22:00.000-07:00</published><updated>2010-08-01T12:37:37.999-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T12:37:37.999-07:00</app:edited><title>Facelets Tutorial : Introduction to Facelets</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bju-G8lR9VR7iYtT71LKoj4shcM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bju-G8lR9VR7iYtT71LKoj4shcM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bju-G8lR9VR7iYtT71LKoj4shcM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bju-G8lR9VR7iYtT71LKoj4shcM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/p/jsf-request-processing-life-cycle.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://jsflessons.blogspot.com/2010/03/developing-jsf-facelet-application.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br/&gt;
&lt;div class="separator" style="text-align: left;"&gt;
&lt;/div&gt;
&lt;span style="font-size: x-large;"&gt;&lt;b&gt;Facelets Overview&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div style="clear: left; float: left; margin-right: 1em" &gt;&lt;br/&gt;&lt;br/&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-3454326745571458";
/* 160x600, Text Add 7/3/10 */
google_ad_slot = "3039515870";
google_ad_width = 160;
google_ad_height = 600;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;br/&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;
In the previous articles, we have seen JSF applications working with JSP. So far every thing works fine, but if you read the article '&lt;a href="http://onjava.com/pub/a/onjava/2004/06/09/jsf.html" target="_blank"&gt;Improving JSF by Dumping JSP&lt;/a&gt;', we can find a whole lot of issues with using JSF and JSP together. Even though the purpose of the both these technologies is to render response to a request, they do it in a completely different way. JSF has a well defined &lt;a href="http://jsflessons.blogspot.com/p/jsf-request-processing-life-cycle.html"&gt;Request Processing Life Cycle&lt;/a&gt; to render the response. It creates a component tree and ask the components render themselves. JSP on the other hand, render the tags, in the order they appear in the page. These conflicting approaches, results in unexpected behavior of the application and makes these technologies not a good natural combination. Another issue with JSF is, it is not a designer friendly. That means, JSF pages are difficult to view using browser or web designing tools like Dreamweaver. Because of these all these issues, the web community was eagerly waiting for an alternative view technology for JSF. It seems like search for the alternative view technology has come to an end with Facelets. Facelets is implemented as a JSF ViewHandler, so it is easy to configure facelets for a JSF application. It also comes with a powerful templating system, which reduces number of pages in an application. &lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Facelets is a templating language built from the ground up with the JSF component life cycle in mind. Some of the compelling features of Facelets are: &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Templating &lt;/li&gt;
&lt;li&gt;Composition Components ( Specifying UIComponent trees in a separate file) &lt;/li&gt;
&lt;li&gt;EL Support (including Function) &lt;/li&gt;
&lt;li&gt;Compile Time EL evaluation. &lt;/li&gt;
&lt;li&gt;No new xml configuration files&lt;/li&gt;
&lt;li&gt;Aliasing Components with jsfc&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: justify;"&gt;
Support for code reuse through templating is an important considerations for developers to adopt JavaServer Faces as the platform for large scale projects. By supporting these features, Facelets reduces the time and effort on development and deployment.&lt;/div&gt;
&lt;br /&gt;
Facelets comes with a simple but powerful set of UI Tag Library &lt;br /&gt;

&lt;ul&gt;
&lt;li&gt;ui:component &lt;/li&gt;
&lt;li&gt;ui:composition&lt;/li&gt;
&lt;li&gt;ui:debug &lt;/li&gt;
&lt;li&gt;ui:decorate &lt;/li&gt;
&lt;li&gt;ui:define &lt;/li&gt;
&lt;li&gt;ui:fragment &lt;/li&gt;
&lt;li&gt;ui:include &lt;/li&gt;
&lt;li&gt;ui:insert &lt;/li&gt;
&lt;li&gt;ui:param &lt;/li&gt;
&lt;li&gt;ui:remove &lt;/li&gt;
&lt;li&gt;ui:repeat &lt;/li&gt;
&lt;/ul&gt;

&lt;b&gt;&lt;span style="font-size: large;"&gt;Setting up the Facelets Development Environment&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div align="left"&gt;
&lt;br /&gt;
In this JSF Facelets&amp;nbsp;tutorial, we will see how to set up the Facelets development environment used to&amp;nbsp;build and run examples. &lt;/div&gt;
&lt;div align="left"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="left"&gt;
Just like any other Java Web application, we need &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Eclipse IDE for Java EE Developers (I am using version 3.5.1) &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.eclipse.org/webtools/incubator/downloads/" target="_blank"&gt;JSF Facelets Tools - WTP Incubator project&lt;/a&gt; . &lt;/li&gt;
&lt;li&gt;Apache Tomcat 6.0&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: justify;"&gt;
&lt;a href="http://www.eclipse.org/webtools/incubator/downloads/" target="_blank"&gt;Download WTP Incubator Project Components&lt;/a&gt;&amp;nbsp;(Get the Facelets Tools which works with the Galileo Release of WTP), unzip it&amp;nbsp; to a local&amp;nbsp;folder, copy the&amp;nbsp;folder in &lt;i&gt;&amp;lt;local folder&amp;gt;/eclipse/features&lt;/i&gt;&amp;nbsp;in to the features folder&amp;nbsp;of eclipse IDE. Likewise copy the &amp;lt;local folder&amp;gt;/eclipse&lt;i&gt;/plugins&lt;/i&gt;&amp;nbsp;in to the plugins folder of eclipse IDE.&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Adding User Libraries in eclipse&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Select Windows-&amp;gt;Preferences-&amp;gt;Java-&amp;gt;Build Path-&amp;gt;Use Libraries. Click on the New button. In the wizard, give the User library name as JSF1.2(SUN_RI). Click OK. Now select JSF1.2(SUN_RI) and&amp;nbsp;click on Add JARs..Add the following jars&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;jsf-api-1.2.jar. &lt;/li&gt;
&lt;li&gt;jsf-impl-1.2.jar&amp;nbsp;&lt;/li&gt;
&lt;li&gt;commons-digester.jar &lt;/li&gt;
&lt;li&gt;commons-logging.jar &lt;/li&gt;
&lt;li&gt;commons-collections.jar &lt;/li&gt;
&lt;li&gt;commons-beanutils.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: center;"&gt;
&amp;nbsp;&amp;nbsp;&lt;a href="http://2.bp.blogspot.com/_VmQU3f52iZk/S6F4imB0oEI/AAAAAAAAFVc/QStGCXQpysU/s1600-h/AddJSFLibrary.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="197" src="http://2.bp.blogspot.com/_VmQU3f52iZk/S6F4imB0oEI/AAAAAAAAFVc/QStGCXQpysU/s400/AddJSFLibrary.jpg" vt="true" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
We have to create two more user libraries. (Click 'Next' below to continue..)&lt;br /&gt;
&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/03/intorduction-to-facelets.html#top"&gt;&lt;b&gt;Back To Top&amp;gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/p/jsf-request-processing-life-cycle.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2010/03/developing-jsf-facelet-application.html"&gt;Next&amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-6229466136738598912?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/zouSrnrDc00" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/6229466136738598912?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/6229466136738598912?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/zouSrnrDc00/intorduction-to-facelets.html" title="Facelets Tutorial : Introduction to Facelets" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_VmQU3f52iZk/S6F4imB0oEI/AAAAAAAAFVc/QStGCXQpysU/s72-c/AddJSFLibrary.jpg" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2009/03/intorduction-to-facelets.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHQnoyeSp7ImA9Wx5TFkQ.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-3264278157457148698</id><published>2009-03-17T12:03:00.000-07:00</published><updated>2010-08-01T12:38:53.491-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T12:38:53.491-07:00</app:edited><title>Facelets Tutorial : Setting up Facelets Development Environment</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hy4NCgFy0txb9VUIhN8xHskUebw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hy4NCgFy0txb9VUIhN8xHskUebw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hy4NCgFy0txb9VUIhN8xHskUebw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hy4NCgFy0txb9VUIhN8xHskUebw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.blogger.com/" name="top"&gt;&lt;/a&gt;&lt;div style="text-align: right;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/03/intorduction-to-facelets.html"&gt;&lt;span style="font-size: small;"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="font-size: large;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;a href="http://jsflessons.blogspot.com/2009/03/simple-facelets-program.html"&gt;&lt;span style="font-size: small;"&gt;Next&amp;nbsp;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 4/13/10 */
google_ad_slot = "4197769079";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;

&lt;div class="separator" style="text-align: left;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;span style="font-size: x-large;"&gt;&lt;b&gt;&lt;span style="font-family: inherit;"&gt;Setting up Facelets Development Environment - Part 2&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Likewise, create&amp;nbsp; User Libraries&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;JSTL and add jstl1.2.jar &lt;/li&gt;
&lt;li&gt;Facelets and add jsf-facelets.jar &lt;/li&gt;
&lt;/ul&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Download the latest &lt;a href="https://facelets.dev.java.net/servlets/ProjectDocumentList?folderID=3635&amp;amp;expandFolder=3635&amp;amp;folderID=0" target="_blank"&gt;Facelets distribution&lt;/a&gt; and unzip it into a folder. You can find the jsf-facelets.jar in the folder.&lt;/div&gt;
&lt;ul&gt;&lt;/ul&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
You can see the defined user libraries as shown below.&lt;/div&gt;
&lt;br /&gt;
&lt;div align="center"&gt;
&lt;a href="http://2.bp.blogspot.com/_VmQU3f52iZk/S6F5Y6k_ZOI/AAAAAAAAFVk/h5ali-ZUzTg/s1600-h/UserLibrariesFacelets.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="292" src="http://2.bp.blogspot.com/_VmQU3f52iZk/S6F5Y6k_ZOI/AAAAAAAAFVk/h5ali-ZUzTg/s400/UserLibrariesFacelets.jpg" vt="true" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;Create a JSF project&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Select File -&amp;gt; New -&amp;gt; Project. Select&amp;nbsp;&amp;nbsp;Dynamic Web project in the Wizard,&amp;nbsp; and click Next. Give&amp;nbsp;Project name&amp;nbsp;&lt;i&gt;JSFFaceletsExample&lt;/i&gt;. Click&amp;nbsp;New button&amp;nbsp;to select the 'Target Runtime'.&amp;nbsp;In the popup window(screen shot is not provided) select the &amp;nbsp;type of&amp;nbsp;runtime environment as ApacheTomacat v6.0. Specify the tomcat installation directory and click Finish. Select the dynamic web module version as 2.5. In the configuration section, select the Facelet1.0 Project.&amp;nbsp;&amp;nbsp;Click Next&lt;/div&gt;
&lt;div align="center" class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&amp;nbsp;&lt;a href="http://3.bp.blogspot.com/_VmQU3f52iZk/S6GKzBWTXeI/AAAAAAAAFV8/Dgp8Y0AJnf0/s1600-h/CreateFaceletProject.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="312" src="http://3.bp.blogspot.com/_VmQU3f52iZk/S6GKzBWTXeI/AAAAAAAAFV8/Dgp8Y0AJnf0/s400/CreateFaceletProject.jpg" vt="true" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div align="center" class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="center" class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="center" class="separator" style="clear: both; text-align: left;"&gt;
Click Next twice.&lt;/div&gt;
&lt;div align="center" class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="center" class="separator" style="clear: both; text-align: left;"&gt;
Select all the three libraries as shown and click Next.&lt;/div&gt;
&lt;div align="center" class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_VmQU3f52iZk/S6F5jQOoTYI/AAAAAAAAFVs/0qLnnjcubCc/s1600-h/JSFCapabilitiesFacelets.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="183" src="http://1.bp.blogspot.com/_VmQU3f52iZk/S6F5jQOoTYI/AAAAAAAAFVs/0qLnnjcubCc/s400/JSFCapabilitiesFacelets.jpg" vt="true" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div align="center"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Select deployment descriptor configuration as shown in figure and click Finish.&lt;/div&gt;
&lt;div align="center"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="center"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_VmQU3f52iZk/S6GZYyQsmgI/AAAAAAAAFWM/rszYmIs5LOY/s1600-h/ConfigureFacelets.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="148" src="http://3.bp.blogspot.com/_VmQU3f52iZk/S6GZYyQsmgI/AAAAAAAAFWM/rszYmIs5LOY/s400/ConfigureFacelets.jpg" vt="true" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Your &lt;i&gt;JSFFaceletsExample&lt;/i&gt; has been created. Note that the web.xml file has been updated with the Faces Servlet and servlet-mapping, a JSF application configuration file (faces-config.xml) has been created, and the build path has been updated with the implementation jars. In your eclipse window, project explorer will look like this:&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_VmQU3f52iZk/S6GdDNAmVjI/AAAAAAAAFWU/RpUQaHJYUEk/s1600-h/ProjectExploreoFacelets.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_VmQU3f52iZk/S6GdDNAmVjI/AAAAAAAAFWU/RpUQaHJYUEk/s400/ProjectExploreoFacelets.jpg" vt="true" width="292" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: right;"&gt;
&lt;div style="text-align: left;"&gt;
Let's&amp;nbsp; examine the faces-config.xml and web.xml in detail. (Click 'Next' below to continue..) &lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;a href="http://jsflessons.blogspot.com/2010/03/developing-jsf-facelet-application.html#top"&gt;&lt;b&gt;Back To Top&amp;gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
google_ad_client = "pub-3454326745571458";
/* 728x90, created 3/14/10 */
google_ad_slot = "8843548462";
google_ad_width = 728;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;&lt;script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;div style="text-align: center;"&gt;
&lt;a href="http://jsflessons.blogspot.com/2009/03/intorduction-to-facelets.html"&gt;&amp;lt;&amp;lt;&amp;nbsp;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://jsflessons.blogspot.com/2009/03/simple-facelets-program.html"&gt;Next&amp;nbsp; &amp;gt;&amp;gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-3264278157457148698?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/RHJjHQBC7W8" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/3264278157457148698?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/3264278157457148698?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/RHJjHQBC7W8/developing-jsf-facelet-application.html" title="Facelets Tutorial : Setting up Facelets Development Environment" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_VmQU3f52iZk/S6F5Y6k_ZOI/AAAAAAAAFVk/h5ali-ZUzTg/s72-c/UserLibrariesFacelets.jpg" height="72" width="72" /><feedburner:origLink>http://jsflessons.blogspot.com/2010/03/developing-jsf-facelet-application.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMDSH48cSp7ImA9Wx9RGUo.&quot;"><id>tag:blogger.com,1999:blog-7206565277269907766.post-455222564043903983</id><published>2008-12-19T11:46:00.000-08:00</published><updated>2010-12-21T15:01:19.079-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-21T15:01:19.079-08:00</app:edited><title>Java Books</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LtrJZ6zbMyn49PZOC1gUg2NKJuc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LtrJZ6zbMyn49PZOC1gUg2NKJuc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LtrJZ6zbMyn49PZOC1gUg2NKJuc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LtrJZ6zbMyn49PZOC1gUg2NKJuc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;b&gt;Java&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596009208&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0672329433&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596516681&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1933988134&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0764574833&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1933988177&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=193239415X&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596006969&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0137012896&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596005393&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1933988401&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1933988029&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1932394982&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0137009526&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596515782&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596517327&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp;&amp;nbsp;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1934356492&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=013705842X&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1430224592&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0321566157&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596007124&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0596008678&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0201310058&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&amp;nbsp; &lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=jayblo-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=0071591060&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7206565277269907766-455222564043903983?l=jsflessons.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JsfBeginnersGuide/~4/zjlLxsQB_cA" height="1" width="1"/&gt;</content><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/455222564043903983?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7206565277269907766/posts/default/455222564043903983?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JsfBeginnersGuide/~3/zjlLxsQB_cA/java-books.html" title="Java Books" /><author><name>Jaya</name><uri>http://www.blogger.com/profile/09286269871442452622</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><feedburner:origLink>http://jsflessons.blogspot.com/2010/12/java-books.html</feedburner:origLink></entry></feed>

