<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavaBeat &#187; JSF</title>
	<atom:link href="http://www.javabeat.net/category/jsf/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.javabeat.net</link>
	<description>Java Technology News</description>
	<lastBuildDate>Mon, 13 May 2013 20:10:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Enterprise Push Server in ICEFaces</title>
		<link>http://www.javabeat.net/2011/06/enterprise-push-server-in-icefaces/</link>
		<comments>http://www.javabeat.net/2011/06/enterprise-push-server-in-icefaces/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 13:45:56 +0000</pubDate>
		<dc:creator>JavaBeat</dc:creator>
				<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.javabeat.net/examples/?p=299</guid>
		<description><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><p>Enterprise Push Server in ICEFaces What is Enterprise Push Server? In ICEfaces EE 2, the Enterprise Push Server (EPS) is built to manage singleAjax Push blocking connection(s) with the client browser and share it with any number of deployed ICEfaces applications and portlets, in both stand-alone and clustered deployments. The Enterprise Push Server delivers key [...]</p>]]></description>
				<content:encoded><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><div class="wpInsert wpInsertInPostAd wpInsertLeft" style="float: left; margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Rect */
google_ad_slot = "9976259118";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><a id="dd_start"></a><h1>Enterprise Push Server in ICEFaces</h1>
<h2>What is Enterprise Push Server?</h2>
<p>In ICEfaces EE 2, the Enterprise Push Server (EPS) is built to manage singleAjax Push blocking connection(s) with the client browser and share it with any number of deployed ICEfaces applications and portlets, in both stand-alone and clustered deployments. The Enterprise Push Server delivers key additional features targeted at large-scale and high-availability enterprise deployments. Specifically, the Enterprise Push Servers:</p>
<ul>
<li>Integrates with major open source and commercial application servers to provide high-scalability and fail-over support for clustered Ajax Push-enabled ICEfaces applications.</li>
<li>Provides distributed management of Push blocking connection to any number of deployed ICEfaces applications and portlets in both a stand-alone and clustered environments.</li>
<li>Designed to Load-balance for failover of blocking push connections.</li>
<li>Supports Servlet 3.0 Asynchronous Request Processing (ARP) integration for thread-level scalability.</li>
</ul>
<p>Enterprise Push Server is required for deploying multiple Ajax Push applications to the same domain. It delivers push server capabilities and key features targeted at enterprise deployments in either stand-alone or cluster deployment environments.</p><div class="wpInsert wpInsertInPostAd wpInsertMiddle" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Middle-Med-Rect */
google_ad_slot = "7805667846";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<h2>5 Things to Know About Enterprise Push Server </h2>
<ol>
<li>Enterprise Push Server enables the delivery of collaborative rich web applications through Ajax Push.</li>
<li>It integrates with major open source and commercial application servers to provide high-scalability and fail-over support for clustered Ajax Push-enabled  ICEfaces applications.</li>
<li>Provides distributed management of Push blocking connection to any number of deployed ICEfaces applications and portlets in both a stand-alone and clustered environments.</li>
<li>Designed to Load-balance for failover of blocking push connections.</li>
<li>Supports Asynchronous Request Processing (ARP) integration for thread-level scalability.</li>
</ol>
<p><a href="http://www.icefaces.org/main/ajax-java/enterprise-push-server.iface" target="_blank">More Details</a></p>
<div class='dd_outer'><div class='dd_inner'><div id='dd_ajax_float'><div class='dd_button_v'><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like href="http%3A%2F%2Fwww.javabeat.net%2Fcategory%2Fjsf%2Ffeed%2F" send="false" show_faces="false"  layout="box_count" width="50"  ></fb:like></div><div style='clear:left'></div><div class='dd_button_v'><script type='text/javascript' src='https://apis.google.com/js/plusone.js'></script><g:plusone size='tall' href='http://www.javabeat.net/category/jsf/feed/'></g:plusone></div><div style='clear:left'></div><div class='dd_button_v'><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.javabeat.net/category/jsf/feed/" data-count="vertical" data-text="JSF" data-via="javabeat" ></a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div style='clear:left'></div><div class='dd_button_extra_v'><script type="text/javascript">jQuery(document).load(function(){ stLight.options({publisher:'bab47279-62c9-46af-addc-79fd1fe8fee0'}); });</script><div class="st_email_custom"><span id='dd_email_text'>email</span></div></div><div style='clear:left'></div><div class='dd_button_extra_v'><div id='dd_print_button'><span id='dd_print_text'><a href='javascript:window:print()'>print</a></span></div></div><div style='clear:left'></div></div></div></div><script type="text/javascript">var dd_offset_from_content = 44; var dd_top_offset_from_content = 0;</script><script type="text/javascript" src="http://www.javabeat.net/wp-content/plugins/digg-digg//js/diggdigg-floating-bar.js?ver=5.3.0"></script><div class="wpInsert wpInsertInPostAd wpInsertBelow" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* JB-Footer-LU 468x15 */
google_ad_slot = "8789107210";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.javabeat.net/2011/06/enterprise-push-server-in-icefaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ICEfaces EE 2.0 is Now Available!</title>
		<link>http://www.javabeat.net/2011/06/icefaces-ee-2-0-is-now-available/</link>
		<comments>http://www.javabeat.net/2011/06/icefaces-ee-2-0-is-now-available/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 13:44:45 +0000</pubDate>
		<dc:creator>JavaBeat</dc:creator>
				<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.javabeat.net/examples/?p=297</guid>
		<description><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><p>ICEfaces EE 2.0 is Now Available! ICEfaces Enterprise Edition (EE) 2.0 is a JSF 2 ready, enterprise-grade development framework, designed to allow enterprise application developers to quickly design, test and deploy rich collaborative web applications. ICEfaces EE 2.0 provides enterprise-grade features and capabilities not available in ICEfaces 2 open-source releases. It includes additional enterprise technologies, [...]</p>]]></description>
				<content:encoded><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><div class="wpInsert wpInsertInPostAd wpInsertLeft" style="float: left; margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Rect */
google_ad_slot = "9976259118";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><h1>ICEfaces EE 2.0 is Now Available!</h1>
<p>ICEfaces Enterprise Edition (EE) 2.0 is a JSF 2 ready, enterprise-grade development framework, designed to allow enterprise application developers to quickly design, test and deploy rich collaborative web applications.</p>
<p>ICEfaces EE 2.0 provides enterprise-grade features and capabilities not available in ICEfaces 2 open-source releases. It includes additional enterprise technologies, features, and advanced documentation designed to simplify and enhance your ICEfaces project lifecycle from development and testing, to deployment.</p>
<p>ICEfaces EE 2.0 is certified and fully tested against an extensive matrix of open source and commercial Java EE technologies. Key features of ICEfaces EE 2.0 include:</p>
<ul>
<li>Certified Code-base</li>
<li>Commercial Technology Integrations</li>
<li>Enterprise Components</li>
<li>Testing Resources </li>
<li>Enterprise Push Server (EPS) </li>
<li>Enterprise Deployment Guides</li>
<li>Enterprise-Level Support Options</li>
</ul>
<p>ICEfaces 2.0.1 is an official maintenance release featuring over 110 fixes and improvements. </p><div class="wpInsert wpInsertInPostAd wpInsertMiddle" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Middle-Med-Rect */
google_ad_slot = "7805667846";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<h3>Notable changes included in this release are:</h3>
<ul>
<li>New Supported Platforms?</li>
<li>- Chrome 10, Firefox 4.0, IE 9</li>
<li>- GlassFish 3.1, JBoss 6.0 and Liferay Portal 5 and 6</li>
<li>- CDI / Weld</li>
<li>Optimized JavaScript for the ICEfaces Components</li>
<li>Faster Page Loading</li>
<li>Mojarra JSF 2.1 and associated support updates</li>
<li>Optimized Window Scope initialization</li>
<li>Various Single Submit Improvements</li>
<li>Updated Tutorials &amp; Sample Applications</li>
</ul>
<h3>ICEfaces 2.0 Training</h3>
<p>ICEsoft offers online training options to fit your specific needs. ICEfaces Training is developer led using experienced ICEfaces developers with several years of JSF and ICEfaces development experience. All our courses include hands-on exercises and labs to ensure knowledge transfer.</p>
<h4>Introduction to ICEfaces and JSF (updated to ICEfaces 2 and JSF 2)</h4>
<p>This 9 hour online course provides overview into Java Server Faces (JSF) and teaches the basics of developing Rich Enterprise Applications using ICEfaces and JSF. Students will be introduced to the MVC (Model View Controller) architecture of JSF, event-handling, data binding and validation. The course walks attendees through the ICEfaces architecture, component library and unique features such as Ajax push and page level design. Students will learn how to install, and configure their local environment and will develop and deploy a basic ICEfaces application.</p>
<ul>
<li>Target Audience: JSP and Java developers.</li>
<li>Prerequisites: Prior experience in Java programming.</li>
<li>Requirements: Broadband Internet connection. Telephone or microphone/headset if using VOIP. Eclipse IDE.</li>
<li>Course Duration: 9 hrs (3/3/3).</li>
<li>Price: $450 per person.</li>
<li><a href="http://www.icefaces.org/main/training/online.iface" target="_blank">More Details</a></li>
</ul>
<p><a href="http://www.icefaces.org/main/downloads/os-downloads.iface" target="_blank">More Details for IceFaces 2.0</a></p>
<div class="wpInsert wpInsertInPostAd wpInsertBelow" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* JB-Footer-LU 468x15 */
google_ad_slot = "8789107210";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.javabeat.net/2011/06/icefaces-ee-2-0-is-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ICEfaces in Portals with PortletFaces Bridge</title>
		<link>http://www.javabeat.net/2011/06/icefaces-in-portals-with-portletfaces-bridge/</link>
		<comments>http://www.javabeat.net/2011/06/icefaces-in-portals-with-portletfaces-bridge/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 13:47:04 +0000</pubDate>
		<dc:creator>JavaBeat</dc:creator>
				<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.javabeat.net/examples/?p=303</guid>
		<description><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><p>ICEfaces in Portals with PortletFaces Bridge ICEfaces 2 uses the open source PortletFaces Bridge project to provide a much improved portal development experience. The PortletFaces Bridge is based in part on the JSR 329 standard, and provides advanced support for JSF 2.0 Portal applications. Using the improvements in both JSF 2 and Portlet 2, the [...]</p>]]></description>
				<content:encoded><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><div class="wpInsert wpInsertInPostAd wpInsertLeft" style="float: left; margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Rect */
google_ad_slot = "9976259118";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><h1>ICEfaces in Portals with PortletFaces Bridge</h1>
<p>ICEfaces 2 uses the open source PortletFaces Bridge project to provide a much improved portal development experience. The PortletFaces Bridge is based in part on the JSR 329 standard, and provides advanced support for JSF 2.0 Portal applications. Using the improvements in both JSF 2 and Portlet 2, the PortletFaces Bridge now directs all Ajax requests to ICEfaces without bypassing the portlet container while maintaing a rich UI experience by avoiding full page renders.</p>
<p>With the PortletFaces Bridge, ICEfaces Ajax portal integration adheres to the Portlet 2.0 specification and supports most of the JSR 286 Portlet 2.0 API. </p>
<p>The PortletFaces Bridge is tested and shipped with the ICEfaces 2 distribution and can be used to develop portlet applications with ICEfaces.</p>
<h2>ICEfaces 1.x Brings Ajax and JSF to Portals</h2>
<p>ICEfaces 1.x introduces easy, transparent use of Ajax in JavaServer Faces (JSF) applications. ICEfaces 1.x provides the same &#8220;Ajax over JSF&#8221; benefits to portlet developers by providing a simple, generic mechanism for bridging the portlet and JSF lifecycles. By using ICEfaces 1.x, developers can build JSF portlets with automatic support for Ajax, providing a rich user experience where portlets can be smoothly updated without disruption to other portlets on the page. In addition, using Ajax Push, an action in one portlet can be used to trigger changes and updates in other portlets, allowing for a form of Inter-Portlet Communication (IPC) that was unavailable in the Portlet 1.x API. In addition, all these features are available and supported across several leading portal platforms.</p><div class="wpInsert wpInsertInPostAd wpInsertMiddle" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Middle-Med-Rect */
google_ad_slot = "7805667846";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<h2>ICEfaces 2 and the PortletFaces Bridge</h2>
<p>The advent of the Portlet 2.x and JSF 2.x specifications ushered in a host of new features that were previously unavailable in the older portlet and JSF implementations. JSF 2.x now provides native support for Ajax and Portlet 2.x now supports IPC. There are also standard specifications for JSF portal bridges which are designed to be transferrable across portal platforms.</p>
<p>ICEfaces 2 now ties all of these together for an even better portlet development experience. ICEfaces 2 uses the PortletFaces Bridge, a portlet bridge based in part on theJSR-329 standard, including advanced support for JSF 2.0, to provide a much improved portal development experience. The PortletFaces Bridge cleanly isolates the work of meshing the Portlet 2 API and lifecycle with the JSF 2 API and lifecycle.</p>
<h2><a href="http://www.icefaces.org/main/ajax-java/portals.iface" target="_blank">Read More Details</a></h2>
<div class="wpInsert wpInsertInPostAd wpInsertBelow" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* JB-Footer-LU 468x15 */
google_ad_slot = "8789107210";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.javabeat.net/2011/06/icefaces-in-portals-with-portletfaces-bridge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Shale Web Framework?</title>
		<link>http://www.javabeat.net/2008/09/what-is-shale-web-framework/</link>
		<comments>http://www.javabeat.net/2008/09/what-is-shale-web-framework/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 01:07:46 +0000</pubDate>
		<dc:creator>JavaBeat</dc:creator>
				<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.javabeat.net/examples/?p=390</guid>
		<description><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><p>Apache Shale is a Java Server Faces based Web Application Framework from the Apache software foundation. Shale is talked of as the &#8220;heir&#8221; Apache struts framework. We all know that struts is the most used Java Web Framework so far. While shale is the successor of Struts, there is a significant departure of architecture from [...]</p>]]></description>
				<content:encoded><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><div class="wpInsert wpInsertInPostAd wpInsertLeft" style="float: left; margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Rect */
google_ad_slot = "9976259118";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><p>
<b><i>Apache Shale</i></b> is a <b><i>Java Server Faces</i></b> based Web Application Framework from the Apache software foundation. Shale is talked of as the &#8220;heir&#8221; Apache <b><i>struts</i></b> framework. We all know that struts is the most used Java Web Framework so far. While shale is the successor of Struts, there is a significant departure of architecture from <b><i>sturts</i></b> to <b><i>shale</i></b>. Firstly, while <b><i>struts</i></b> is based on a monolithic <b><i>Request Processor</i></b>, <b><i>Shale</i></b> is set of fine-grained services that can be combined as needed to meet particular application needs. Secondly, while sturts can be integrated with Java Server Faces, <b><i>Shale</i></b> is built upon <b><i>JSF</i></b>. The major <i>features</i> of the <b><i>Shale Framework</i></b> are:
</p><div class="wpInsert wpInsertInPostAd wpInsertMiddle" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Middle-Med-Rect */
google_ad_slot = "7805667846";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<ul>
<li><b><i>View Controller</i></b> &#8211; Convenient mechanism to associate a &#8220;backing&#8221; Java class with each JavaServer Faces view (a JSF WebPage) in an application, with predefined event handers for events significant to an application developer.</li>
<li><b><i>Dialog Manager</i></b> &#8211; Mechanism to define a &#8220;conversation&#8221; with a user that requires multiple HTTP requests to implement, modeled as a state diagram.</li>
<li><b><i>Application Manager</i></b> &#8211; Traditional application wide front controller features that should be applied to every request.</li>
<li><b><i>Validation</i></b> &#8211; Integration with the Jakarta Commons Validator Framework, supporting both client side and server side validations based on a single set of configured validation rules.</li>
<li><b><i>Remoting</i></b> &#8211; Server side support for applications that employ AJAX (Asynchronous JavaScript and XML) style interactions.</li>
<li><b><i>Spring Integration</i></b> &#8211; Integration with the Spring Framework, allowing the use of Spring&#8217;s dependency injection framework to create JavaServer Faces managed beans.</li>
<li><b><i>Clay</i></b> &#8211; An alternative to JSP where you define views in pure HTML, in a fashion similar to Tapestry and Facelets. An innovative sub-framework for supporting the configuration of reusable subtrees of JavaServer Faces components for customizable reuse.</li>
<li><b><i>Test Framework</i></b> &#8211; Set of mock objects and JUnit test case base classes suitable for testing both the framework classes themselves, as well as application components built on top of the framework.</li>
<li><b><i>Java 5 Extensions</i></b> &#8211; Optional add-on library that adds additional ease-of-use features for Shale applications that run on Java Standard Edition 5 (popularly known by its code name during development, &#8220;tiger&#8221;). </li>
</ul>
<p>
This article is originally published in <a href="http://java-x.blogspot.com/" target="_blank">Abhi Vuyyuru&#8217;s Blog</a>.</p>
<div class="wpInsert wpInsertInPostAd wpInsertBelow" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* JB-Footer-LU 468x15 */
google_ad_slot = "8789107210";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.javabeat.net/2008/09/what-is-shale-web-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advantages and Disadvantages &#8211; JSF</title>
		<link>http://www.javabeat.net/2008/09/advantages-and-disadvantages-jsf/</link>
		<comments>http://www.javabeat.net/2008/09/advantages-and-disadvantages-jsf/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 01:02:51 +0000</pubDate>
		<dc:creator>JavaBeat</dc:creator>
				<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.javabeat.net/examples/?p=380</guid>
		<description><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><p>JSF is becoming more popular framework for user interface layer development, many architects and companies assuming that Struts is becoming outdated and JSF is catching up the market. I am not sure whether it is true at this point of time. However I would like express my critic on the advantages and disadvantages of JSF. [...]</p>]]></description>
				<content:encoded><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><div class="wpInsert wpInsertInPostAd wpInsertLeft" style="float: left; margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Rect */
google_ad_slot = "9976259118";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><p>
<b><i>JSF</i></b> is becoming more popular framework for user interface layer development, many architects and companies assuming that <b><i>Struts</i></b> is becoming outdated and <b><i>JSF</i></b> is catching up the market. I am not sure whether it is true at this point of time. However I would like express my critic on the advantages and disadvantages of <b><i>JSF</i></b>.
</p><div class="wpInsert wpInsertInPostAd wpInsertMiddle" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Middle-Med-Rect */
google_ad_slot = "7805667846";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<h3>Advantages of JSF</h3>
<ul>
<li><i>1. Big vendors (Oracle, IBM, JBoss, etc) backing JSF implementation like EJB. Can expect good level of support and quality components from these vendors.</i></li>
<li><i>2. By design and concept it allows to create reusable components. That will help to improve productivity and consistency.</i></li>
<li><i>3. Many quality and ready to use components are available from Apache, Richfaces, Infragistics, Oracle, etc.</i></li>
<li><i>4. The concept of action and action listener for button invocation is good.</i></li>
<li><i>5. Has very good support for EL expression that improves the user interface code readability.</i></li>
<li><i>6. The concept the validator and converter is excellent. Unlike struts JSF keeps the validation logic very close to the component
<li><i>declaration.</i></li>
<li><i>7. JavaScript code are embedded as part of the component; this keep less confusion for developers and more re-usability on JavaScript code.</i></li>
</ul>
<h3>Disadvantages of JSF</h3>
<ul>
<li><i>1. There is no benchmarking report or promise from Sun Microsystems about the performance of JSF framework. By seeing their concept I believe it is not suitable for high performance application.</i></li>
<li><i>2. The specification doesn’t consider bookmarking facility.</i></li>
<li><i>3. Hardly a very few examples available for developing dynamic pages including new component and removing a component from a page based on business rule.</i></li>
<li><i>4. Every button or link clicked results in a form post. That’s just wrong &#8211; why can’t I have true links like the web is supposed to? Form submission for page navigation make complex coding for simple requirement like Cancel button. Read here to know the work around.</i></li>
<li><i>5. Datatable component requires same data from bean on restore view phase. If the data retrieved from database, this will have impact on performance. Click here to know more about this issue.</i></li>
<li><i>6. There is no tight coupling between managed bean and phase listener. This is a major drawback of JSF which makes JSF phase listener feature unusable.</i></li>
<li><i>7. Default error message is not good. Need to customize the default error message.</i></li>
<li><i>8. Not Scalable. It uses session object to store the component state across the request. In server farm environment it is too costly to replicate the session data.</i></li>
</ul>
<h3>Is JSF matured?</h3>
<p>
<b><i>JSF</i></b> simplifies user interface development, and increases complexity on request processing lifecycle. At this point of time I don’t see <b><i>JSF</i></b> as a matured solution.</p>
<div class="wpInsert wpInsertInPostAd wpInsertBelow" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* JB-Footer-LU 468x15 */
google_ad_slot = "8789107210";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.javabeat.net/2008/09/advantages-and-disadvantages-jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom DateTimeConverter in JSF</title>
		<link>http://www.javabeat.net/2008/09/custom-datetimeconverter-in-jsf/</link>
		<comments>http://www.javabeat.net/2008/09/custom-datetimeconverter-in-jsf/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 01:01:56 +0000</pubDate>
		<dc:creator>JavaBeat</dc:creator>
				<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.javabeat.net/examples/?p=377</guid>
		<description><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><p>By default JSF using GMT timezone to convert the date into display format. Here is a simple solution where you can provide your custom date time converter. 1) Write a new custom converter by extending existing DateTimeConverter class. 1 2 3 4 5 6 7 8 9 10 11 package com.company.project.converter; import java.util.TimeZone; import javax.faces.convert.DateTimeConverter; [...]</p>]]></description>
				<content:encoded><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><div class="wpInsert wpInsertInPostAd wpInsertLeft" style="float: left; margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Rect */
google_ad_slot = "9976259118";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><p>
By default JSF using GMT timezone to convert the date into display format.
</p>
<p>
Here is a simple solution where you can provide your custom date time converter.
</p>
<p>
1) Write a new custom converter by extending existing DateTimeConverter class.
</p><div class="wpInsert wpInsertInPostAd wpInsertMiddle" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Middle-Med-Rect */
google_ad_slot = "7805667846";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">package com.company.project.converter;
import java.util.TimeZone;
import javax.faces.convert.DateTimeConverter;
public class CustomDateTimeConverter extends DateTimeConverter {
public CustomDateTimeConverter() {
super();
setTimeZone(TimeZone.getDefault());
// here you can set your custom date pattern for your project
// setPattern(&quot;M/d/yy&quot;);
}
}</pre></td></tr></table></div>

<p>
Bind your new converter as default converter for object of type java.util.Date
</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">&lt;converter&gt;
&lt;converter-for-class&gt;java.util.Date&lt;/converter-for-class&gt;
&lt;converter-class&gt;com.company.project.converter.CustomDateTimeConverter&lt;/converter-class&gt;
&lt;/converter&gt;</pre></td></tr></table></div>

<div class="wpInsert wpInsertInPostAd wpInsertBelow" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* JB-Footer-LU 468x15 */
google_ad_slot = "8789107210";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.javabeat.net/2008/09/custom-datetimeconverter-in-jsf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>h:graphicImage in JSF</title>
		<link>http://www.javabeat.net/2008/09/hgraphicimage-in-jsf/</link>
		<comments>http://www.javabeat.net/2008/09/hgraphicimage-in-jsf/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 13:05:36 +0000</pubDate>
		<dc:creator>JavaBeat</dc:creator>
				<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.javabeat.net/examples/?p=254</guid>
		<description><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><p>The h:graphicImage tag renders an HTML image tag. 1 &#60;h:graphicImage id=&#34;jsfimage&#34; value=&#34;/images/jsfimage.gif&#34; width=&#34;200&#34; height=&#34;50&#34; /&#62; h:graphicImage Tag Attributes alt The alt attribute is a standard HTML attribute that sets the alternate textual description rendered by this component. binding The value-binding expression linking this component tag to a backing bean property. dir The dir attribute is [...]</p>]]></description>
				<content:encoded><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><div class="wpInsert wpInsertInPostAd wpInsertLeft" style="float: left; margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Rect */
google_ad_slot = "9976259118";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><p>
The <b><i>h:graphicImage</i></b> tag renders an HTML image tag.
</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">&lt;h:graphicImage id=&quot;jsfimage&quot; value=&quot;/images/jsfimage.gif&quot; width=&quot;200&quot; height=&quot;50&quot; /&gt;</pre></td></tr></table></div>

<h3>h:graphicImage Tag Attributes</h3>
<h3>alt</h3>
<p>The alt attribute is a standard HTML attribute that sets the alternate textual description rendered by this component.</p>
<h3>binding</h3>
<p>The value-binding expression linking this component tag to a backing bean property.</p>
<h3>dir</h3>
<p>The dir attribute is a standard HTML attribute that overrides the default text directionality for this component. The values accepted for this component are &#8220;LTR&#8221; (left-to-right) and &#8220;RTL&#8221; (right-to-left).</p>
<h3>height</h3>
<p>The height attribute sets the height of the image.</p>
<h3>id</h3>
<p>The unique identifier value for this component. The value must be unique within the closest naming container.</p>
<h3>ismap</h3>
<p>The ismap attribute is a boolean flag that indicates that this image is to be used as a server side image map. If so, the image must be contained within a hyperlink (&#8220;a&#8221;) element.</p>
<h3>lang</h3>
<p>The lang attribute is a standard HTML attribute that sets the code describing the language to be used in the markup generated by this component.</p>
<h3>longdesc</h3>
<p>The longdesc attribute provides a long description of the image rendered by this tag.</p>
<h3>onclick</h3>
<p>The onclick attribute sets the JavaScript code to execute when the mouse pointer is clicked over this element.</p>
<h3>ondblclick</h3>
<p>The ondblclick attribute sets the JavaScript code to execute when the mouse pointer is double-clicked over this element.</p>
<h3>onkeydown</h3>
<p>The onkeydown attribute sets the JavaScript code to execute when a key is pressed down over this element.</p>
<h3>onkeypress</h3>
<p>The onkeypress attribute sets the JavaScript code to execute when a key is pressed and released over this element.</p>
<h3>onkeyup</h3>
<p>The onkeyup attribute sets the JavaScript code to execute when a key is released over this element.</p><div class="wpInsert wpInsertInPostAd wpInsertMiddle" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Middle-Med-Rect */
google_ad_slot = "7805667846";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<h3>onmousedown</h3>
<p>The onmousedown attribute sets the JavaScript code to execute when the mouse pointer is pressed down over this element.</p>
<h3>onmousemove</h3>
<p>The onmousemove attribute sets the JavaScript code to execute when the mouse pointer is moved within this element.</p>
<h3>onmouseout</h3>
<p>The onmouseout attribute sets the JavaScript code to execute when the mouse pointer is moved away from this element.</p>
<h3>onmouseover</h3>
<p>The onmouseover attribute sets the JavaScript code to execute when the mouse pointer is moved onto this element.</p>
<h3>onmouseup</h3>
<p>The onmouseup attribute sets the JavaScript code to execute when the mouse button is released over this element.</p>
<h3>rendered</h3>
<p>A value-binding expression that evaluates to a Boolean condition indicating if this component should be rendered.</p>
<h3>style</h3>
<p>The style attribute sets the CSS style definition to be applied to this component when it is rendered.</p>
<h3>styleClass</h3>
<p>The styleClass attribute sets the CSS class to apply to this component when it is rendered.</p>
<h3>title</h3>
<p>The title attribute is a standard HTML attribute that sets the tooltip text to display for the rendered component.</p>
<h3>url</h3>
<p>The url attribute is an alias for the value attribute. It accepts a context-relative URL to the image to be displayed.</p>
<h3>usemap</h3>
<p>The usemap attribute sets the name of a client-side image map (the HTML &#8220;map&#8221; element) for which this tag provides the image.</p>
<h3>value</h3>
<p>The value attribute set the context-relative URL to the image to be displayed.</p>
<h3>width</h3>
<p>The width attribute sets the width of the image.</p>
<div class="wpInsert wpInsertInPostAd wpInsertBelow" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* JB-Footer-LU 468x15 */
google_ad_slot = "8789107210";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.javabeat.net/2008/09/hgraphicimage-in-jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Life Cycle of JSF Components</title>
		<link>http://www.javabeat.net/2008/08/life-cycle-of-jsf-components/</link>
		<comments>http://www.javabeat.net/2008/08/life-cycle-of-jsf-components/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 12:58:12 +0000</pubDate>
		<dc:creator>JavaBeat</dc:creator>
				<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.javabeat.net/examples/?p=236</guid>
		<description><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><p>Restore View The JSF servlet builds the view of the requested page as a component tree that contains the information associated with all components. It also saves the view in a FacesContext instance, thereby making it possible to repopulate the page if necessary—for example, when the user doesn’t fill out a form as required. If [...]</p>]]></description>
				<content:encoded><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><div class="wpInsert wpInsertInPostAd wpInsertLeft" style="float: left; margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Rect */
google_ad_slot = "9976259118";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><h3>Restore View</h3>
<p>
The <b><i>JSF</i></b> servlet builds the view of the requested page as a component tree that contains the information associated with all components. It also saves the view in a FacesContext instance, thereby making it possible to repopulate the page if necessary—for example, when the user doesn’t fill out a form as required. If the same page was displayed before and component states were saved, that information would also be taken into account. In this phase, <b><i>JSF</i></b> wires event <b><i>handlers and validators</i></b> (if any) to the components.
</p>
<h3>Apply Request Values</h3>
<p>
The <b><i>JSF</i></b> servlet goes through the component tree and executes each component’s decode method, which extracts values from the request parameters and stores them locally in the component. It also automatically converts the parameters that are associated with object properties of non-string types. Conversion errors cause error messages to be queued to the FacesContext object. In some cases, typically when the user clicks on controls, the servlet also generates request events and queues them to FacesContext.
</p>
<h3>Process Request Events</h3>
<p>
The servlet calls the <b><i>processEvent</i></b> method for each component with one or more queued events. Each component decides to handle the events or delegate their handling to event handlers. In any case, the servlet proceeds with the next phase if all executed <b><i>processEvent</i></b> methods return false. Otherwise, it jumps directly to the <b><i>Render Response</i></b> phase.
</p>
<h3>Process Validation</h3>
<p>
The servlet invokes the validate methods of the validators that had been registered during the <b><i>Restore View</i></b> phase. For each validate method that returns false, the servlet queues an error message to the <b><i>FacesContext</i></b>.
</p>
<h3>Process Events</h3>
<p>
If validation or conversion errors are generated during the <b><i>Process Validation</i></b> phase, control jumps directly to the <b><i>Render Response</i></b> phase.
</p><div class="wpInsert wpInsertInPostAd wpInsertMiddle" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Middle-Med-Rect */
google_ad_slot = "7805667846";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<h3>Update Model Values</h3>
<p>
Each UI component can be linked to a field in a Java object called the model object. During this phase, the values of the linked components are copied to the corresponding fields of the model object by executing the component method <b><i>updateModel</i></b>, which also does type conversions when necessary. Conversion errors cause error messages to be queued to <b><i>FacesContext</i></b>.
</p>
<h3>Process Events</h3>
<p>
If it turns out that conversion errors were generated during phase 6,control jumps directly to the <b><i>Render Response phase</i></b>.
</p>
<h3>Invoke Application</h3>
<p>
During this phase, the servlet processes the application-level events by executing the corresponding handlers. When the user submits a form or clicks on a link of a JSF application, the <b><i>JSF</i></b> servlet generates a corresponding application-level event. One of the tasks you have to do when developing a <b><i>JSF</i></b> application is to assign a handler (e.g., a JSP page) to each one of the possible application events.
</p>
<h3>Render Response</h3>
<p>
The servlet creates a response component tree and delegates the rendering of the page to <b><i>Tomcat</i></b>. Each component renders itself as <b><i>Tomcat</i></b> goes through the corresponding <b><i>JSF</i></b> tags. At the end of this phase, the state of the response is saved so that the servlet can access it during the Restore View phase of subsequent requests to the same page.</p>
<div class="wpInsert wpInsertInPostAd wpInsertBelow" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* JB-Footer-LU 468x15 */
google_ad_slot = "8789107210";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.javabeat.net/2008/08/life-cycle-of-jsf-components/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Features in JSF 2.0</title>
		<link>http://www.javabeat.net/2008/07/new-features-in-jsf-2-0/</link>
		<comments>http://www.javabeat.net/2008/07/new-features-in-jsf-2-0/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 12:47:35 +0000</pubDate>
		<dc:creator>JavaBeat</dc:creator>
				<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.javabeat.net/examples/?p=216</guid>
		<description><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><p>JSF 2.0 New Features JSF 2.0 proposal has been posted on March 2007 and planned for the release in last quarter of 2008. It will be shipped with JEE 6.0 release. Looking into the features lits of the JSF 2.0, it is added lots of interesting features in the list and also they are aiming [...]</p>]]></description>
				<content:encoded><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><div class="wpInsert wpInsertInPostAd wpInsertLeft" style="float: left; margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Rect */
google_ad_slot = "9976259118";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><h1>JSF 2.0 New Features</h1>
<p>
	<b><i>JSF 2.0</i></b> <a href="http://weblogs.java.net/blog/edburns/archive/2007/03/prejcpfiled_dra_1.html" target="_blank">proposal</a> has been posted on March 2007 and planned for the release in last quarter of 2008. It will be shipped with <b><i>JEE 6.0</i></b> release. Looking into the<br />
	features lits of the <b><i>JSF 2.0</i></b>, it is added lots of interesting features in the list and also they are aiming to attract more new developers to use <b><i>JSF</i></b> technology.
</p>
<h4>JSF 2.0 Features</h4>
<p>
	Some of the interesting features includes <i>Bookmarking for URLs, expanding the existing lifecycle mechanism, more support<br />
	for the <b><i>AJAX</i></b> requests, use annotations instead of faces-config.xml, introducing JSFTemplating concepts</i> and much more. It seems<br />
	the list size is big it will be great to see when the final version is released. Basically it is categorized into four parts:<br />
	Ease of development, <b><i>New Features</i></b>, Performance and Adoption. We will look into the each category with brief explanation. This tips based on the <b><i>JSR 314</i></b> and the features list is taken from the original JSR document.
</p><div class="wpInsert wpInsertInPostAd wpInsertMiddle" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Middle-Med-Rect */
google_ad_slot = "7805667846";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<h4>Ease of development</h4>
<ul>
<li>Component aggregation. Allow development of custom component with little or no Java coding. [A] Perhaps consider a standard set of aggregations.</li>
<li>Allow for &#8220;zero configuration&#8221; web applications. No faces-config.xml, no web.xml. If necessary, annotations will be used to supplement the configuration data.</li>
<li>Vastly improve the developer experience with regard to error messages that happen during iterative development, and even during deployment of the application. For example the EG will consider options including, allowing the developer to tell the runtime what stage of development the web application is in, and take action accordingly: Development, Test, Deployment. Line precise error reporting. Pluggable Exception Handling.</li>
<li>Provide default exception handling mechanisms. For example, all runtime errors get forwarded to an error page.</li>
<li>Eliminate the need to author a JSP tag handler when writing JSF components.</li>
<li>Leverage annotations to declare JSF artifacts (components, managed beans, navigation rules, etc) to the runtime.</li>
<li>Declarative Renderers, otherwise known as Renderers without resorting to out.println().</li>
<li>Real world, production view description technology, including templating: include something influenced by Facelets, JSFTemplating or Tiles in the specification.</li>
<li>Make it very easy to create CRUD based applications.</li>
</ul>
<h4>New Features</h4>
<ul>
<li>Expand the request processing lifecycle to be aware of Ajax. This may include describing a small developer-contract footprint JavaScript library as part of the JavaServer Faces specification.</li>
<li>Separate the &#8220;build the tree&#8221; and &#8220;render the tree&#8221; processes into two separate lifecycle phases.</li>
<li>Allow for partial tree traversel during lifecycle execution via Ajax.</li>
<li>Allow for bookmarkable JSF pages. More broadly, if HTTP GET can be used, it should be used.</li>
<li>Decent client side, inter-component and form-level validation (leveraging JSR-303 validation if possible).</li>
<li>First class support for bundling and delivering static resources associated with a component: images, stylesheets, scripts, etc. Should be able to specify default locations for resources.</li>
<li>Strategic additions to the Standard HTML RenderKit: Date Picker, Tree, Tab View, File Upload components.</li>
<li>Provide a mechanism to minimize the &#8220;Lost Update&#8221; and &#8220;Duplicate Button Press&#8221; problems. These mechanisms must be pluggable or customizable from the user.</li>
<li>Page actions: The ability to say, &#8220;when this page loads, invoke this action (via Ajax if necessary).&#8221;</li>
<li>Provide a mechanism to easily access persistent store.</li>
</ul>
<h4>Performance</h4>
<ul>
<li>Saving and restoring page deltas rather than saving and restoring the full view state each time.</li>
<li>Re-do UIComponent state saving with a view towards making stateless components the default.</li>
<li>Allow for moving as much of the event processing and inter-page component interaction into the client as possible. This may imply specifying client side controller framework.</li>
<li>Streamline the rendering process via caching if possible.</li>
<li>Improve the interceptor mechanism delivered via the PhaseListener feature so that the developer can control exactly what kinds of requests are allowed to be processed by each PhaseListener instance.</li>
</ul>
<h4>Adoption</h4>
<ul>
<li>Enable components to have a client based lifecycle in addition to, or instead of the server based request/response lifecycle. Such a client based lifecycle would enable use-cases such as drag-and-drop, master-detail and sub-dialogs on a single page interface web application.</li>
<li>Improve the UIComponent specification to allow an increase in the interoperability of UIComponent libraries from arbitrary vendors.</li>
<li>Enable applications to use features that are defined in the JavaServer Faces specification but are intended for use in the Java EE platform as a whole. For example, the managed bean facility is useful even in an application that only uses Servlets from Java EE but provides the rest of the web application features from software outside of the platform.</li>
<li>Allow JSF application resources to be accessed via REST.</li>
<li>Enable components that publish events via RSS/Atom.</li>
<li>Add support for REST (JSR 311)</li>
<li>Broad and pervasive support for scripting at all levels of the specification. It will be possible to use a scripting language to write all executable artifacts in a JSF application.</li>
<li>Specify command line interface for authoring JSF applications.</li>
<li>Support for passing values from page to page. This will be a standardization of the many different Dialog/Conversation/Scope/Flash ideas currently in use.</li>
<li>&#8220;Skinning&#8221;, or &#8220;Themeing&#8221; of components.</li>
<li>An important target user for JavaServer Faces technology is the developer who relies on an Internet Service Provider (ISPv) to host their application, as well as hosting their development environment. It must be easy to iteratively develop a JavaServer Faces application that is hosted entirely on an ISP. </li>
</ul>
<div class="wpInsert wpInsertInPostAd wpInsertBelow" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* JB-Footer-LU 468x15 */
google_ad_slot = "8789107210";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.javabeat.net/2008/07/new-features-in-jsf-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implement Internationalization and Localization in JSF</title>
		<link>http://www.javabeat.net/2008/07/implement-internationalization-and-localization-in-jsf/</link>
		<comments>http://www.javabeat.net/2008/07/implement-internationalization-and-localization-in-jsf/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 10:53:44 +0000</pubDate>
		<dc:creator>JavaBeat</dc:creator>
				<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.javabeat.net/examples/?p=186</guid>
		<description><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><p>Internationalization and Localization Internationalization and Localization are important features for an web based application. Internationalization is implementing the features in your application to support multiple languages. Localization is creating text in a specific language that is presented through an internationalized application The following example program demonstrates very simple program for implementing this concepts. if you [...]</p>]]></description>
				<content:encoded><![CDATA[<p>Connect to us ( <a href="https://twitter.com/javabeat">@twitter</a> | <a href="https://www.facebook.com/javabeat.net">@facebook )</p><div class="wpInsert wpInsertInPostAd wpInsertLeft" style="float: left; margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Rect */
google_ad_slot = "9976259118";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><h3>Internationalization and Localization</h3>
<p> <b><i>Internationalization</i></b> and <b><i>Localization</i></b> are important features for an web based application. <b><i>Internationalization</i></b> is implementing the features in your application to support multiple languages. <b><i>Localization</i></b> is creating text in a specific language that is presented through an internationalized application</p>
<p>The following example program demonstrates very simple program for implementing this concepts. if you llok into the <b><i>faces-config.xml</i></b> file,<b><i>locale-config</i></b> element is used for specifying the default locale and supported locale information. In this sample application we have provided default as English and supported as French.</p><div class="wpInsert wpInsertInPostAd wpInsertMiddle" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* Article-Middle-Med-Rect */
google_ad_slot = "7805667846";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
<p>Use <b><i>resource-bundle</i></b> element to specify the name of the properties file to be used. For exmaple if you create a <b><i>resource bundle</i></b> name as Messages, then all the language letters will be suffixed with the file name.In our case French locale is named as &#8220;Messages_fr&#8221;.The default will be &#8220;en&#8221;, it is not required to specify explicitly.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">&nbsp;
&lt;%@taglib prefix=&quot;f&quot; uri=&quot;http://java.sun.com/jsf/core&quot;%&gt;
&lt;%@taglib prefix=&quot;h&quot; uri=&quot;http://java.sun.com/jsf/html&quot;%&gt;
&lt;html&gt;
    &lt;body&gt;
        &lt;f:view&gt;
            &lt;h:form&gt;
                &lt;h:commandButton value=&quot;#{msg.cancel}&quot; action=&quot;fail&quot;/&gt;
                &lt;h:commandButton value=&quot;#{msg.submit}&quot; action=&quot;success&quot;/&gt;
            &lt;/h:form&gt;
        &lt;/f:view&gt;
    &lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<h4>faces-config.xml</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">&nbsp;
&lt;?xml version='1.0' encoding='UTF-8'?&gt;
&lt;faces-config version=&quot;1.2&quot;
    xmlns=&quot;http://java.sun.com/xml/ns/javaee&quot;
    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
    xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd&quot;&gt;
    &lt;application&gt;
        &lt;locale-config&gt;
            &lt;default-locale&gt;en&lt;/default-locale&gt;
            &lt;supported-locale&gt;fr&lt;/supported-locale&gt;
            &lt;supported-locale&gt;de&lt;/supported-locale&gt;
        &lt;/locale-config&gt;
        &lt;resource-bundle&gt;
            &lt;base-name&gt;javabeat.net.messages.Messages&lt;/base-name&gt;
            &lt;var&gt;msg&lt;/var&gt;
        &lt;/resource-bundle&gt;
    &lt;/application&gt;
&lt;/faces-config&gt;</pre></td></tr></table></div>

<h4>Messages.properties</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">cancel=Cancel
submit=Submit</pre></td></tr></table></div>

<h4>Messages_fr.properties</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">cancel=annuler
submit=envoyer</pre></td></tr></table></div>

<div class="wpInsert wpInsertInPostAd wpInsertBelow" style="margin: 5px; padding: 0px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-1490953723360528";
/* JB-Footer-LU 468x15 */
google_ad_slot = "8789107210";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.javabeat.net/2008/07/implement-internationalization-and-localization-in-jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
