SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
JBoss RichFaces
 Webinar Series
Introduction to RichFaces
       Webinar #1

       Max Katz
    Charley Cowens


       © Exadel
Future Webinars:
April 21st, 2009 – More Concepts and
  Features
May 19st, 2009 – Rich UI Components
June 16th, 2009 - Skins




              © Exadel
About Me
Senior Systems Engineer
RIA strategy, development, training
http://mkblog.exadel.com
Practical RichFaces (Apress)




               © Exadel
The Plan
Introduce RichFaces
Example
How To Install
Basic Concepts:
  1.Sending an AJAX request
  2.Partial view rendering
  3.Partial view processing
Questions

                © Exadel
RichFaces is JSF Framework
JavaServer Faces is:
•
  Standard technology in Java EE
•
  Framework for building Web
  applications out of UI components




               © Exadel
© Exadel
RichFaces
1. JSF-AJAX components (100+)
2. Skins
3. CDK (Component Development Kit)




              © Exadel
JSF-AJAX Components
Over 100 ready-to-use JSF AJAX
  components
Two tag libraries
• a4j – page-level AJAX support
• rich – component-level AJAX support




                © Exadel
Skins (Themes)
Change the look-and-feel
 of pages on the fly
Create custom skins




              © Exadel
CDK
Facility for creating, generating and
 testing your own rich JSF components




              © Exadel
JBoss Tools




© Exadel
Let's build something.




       © Exadel
Installing
Drop RichFaces JAR files
richfaces-api-X.X.X.jar, richfaces-impl-X.X.X.jar, richfaces-ui-
   X.X.X.jar

Filter registration
<filter>
  <display-name>Ajax4jsf Filter</display-name>
  <filter-name>ajax4jsf</filter-name>
  <filter-class>org.ajax4jsf.Filter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>ajax4jsf</filter-name>
  <servlet-name>Faces Servlet</servlet-name>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>INCLUDE</dispatcher>
</filter-mapping>
                          © Exadel
What You Should Know
Runs in:
• Any servlet container, application server
Works with:
• Any JSF implementation (1.1, 1.2, 2.0soon)
Works with:
• Seam, Spring
Works with any 3rd party components:
• Tomahawk, Trinidad etc.


                  © Exadel
Basic Concepts
1.Sending AJAX request
2.Partial view (page) rendering
3.Partial view processing




               © Exadel
Sending AJAX Request
• a4j:support – add AJAX support to
  any parent component
• a4j:commandButton,
  a4j:commandLink
• a4j:poll – periodically send AJAX
  request
• a4j:jsFunction – AJAX request from
  any custom JavaScript function
• a4j:push – a ping-like request

               © Exadel
Sending AJAX Request
Using a4j:support
<h:inputText value="#{bean.fruit}">
   <a4j:support event="onblur"
                action="#{action.save}">
</<h:inputText>

<h:selectOneMenu value="#{bean.fruit}">
   <a4j:support event="onchange"
                ajaxSingle="true">
</<h:selectOneMenu>

Using a4j:commandButton

<a4j:commandButton value="AJAX Submit"
     action="#{echoBean.count}"
     reRender="echo, count" />
                          © Exadel
Using a4j:support
                                           with rich components




<rich:listShuttle sourceValue="#{toolBar.freeItems}"
    targetValue="#{toolBar.items}" var="items"
    converter="listShuttleconverter">
  <rich:column width="18">
     <h:graphicImage value="#{items.iconURI}"/>
  </rich:column>
  <rich:column>
     <h:outputText value="#{items.label}"/>
  </rich:column>
  <a4j:support event="onlistchanged"
               reRender="toolBar" />
  <a4j:support event="onorderchanged"
               reRender="toolBar" />
</rich:listShuttle>
                       © Exadel
Partial View Rendering
Point reRender to component id's to be
 rendered
Use a4j:outputPanel to include
 components always to be rendered




               © Exadel
<a4j:commandLink reRender="id1,id2">
...
                                        Using
<h:outputText id="id1"/>
                                        reRender
<h:dataTable id="id2">
...
</h:dataTable>
<a4j:commandLink reRender="panel">
...                                     Using
<h:panelGrid id="panel">                reRender to
                                        point
   <h:outputText />                     to container
   <h:dataTable>..</h:dataTable>
</h:panelGrid>
<a4j:commandLink>
                                        Using
...
                                        a4j:outputPanel
<a4j:outputPanel ajaxRendered="true">
   <h:outputText />
   <h:dataTable>..</h:dataTable>
<a4j:outputPane>
                     © Exadel
Partial View Processing
Use ajaxSingle attribute
Use <a4j:region>...</a4j:region>




              © Exadel
Partial View Processing
Using ajaxSingle
<h:selectOneMenu value="#{bean.fruit}">
   <a4j:support event="onchange"
                ajaxSingle="true">
</<h:selectOneMenu>



Using a4j:region
<a4j:region>
  <h:inputText />
  <a4j:commandButton />
</a4j:region>
<h:inputText


                   © Exadel
What We Covered
Installing
Basic Concepts:
  1.Sending an AJAX request
  2.Partial view rendering
  3.Partial view processing




                © Exadel
RichFaces Demo
http://livedemo.exadel.com/richfaces-demo




                © Exadel
JSF/RichFaces Training
On-site 1-3 days
More info: http://mkblog.exadel.com




                 © Exadel
Future Webinars:
April 21st, 2009 – More Concepts and
  Features
May 19st, 2009 – Rich UI Components
June 16th, 2009 - Skins




              © Exadel
Thank You.
Questions?
mkatz@exadel.com
http://mkblog.exadel.com




              © Exadel

Más contenido relacionado

La actualidad más candente

20141001 delapsley-oc-openstack-final
20141001 delapsley-oc-openstack-final20141001 delapsley-oc-openstack-final
20141001 delapsley-oc-openstack-final
David Lapsley
 
Primefaces Nextgen Lju
Primefaces Nextgen LjuPrimefaces Nextgen Lju
Primefaces Nextgen Lju
Skills Matter
 

La actualidad más candente (20)

Template syntax in Angular 2.0
Template syntax in Angular 2.0Template syntax in Angular 2.0
Template syntax in Angular 2.0
 
Patterns Are Good For Managers
Patterns Are Good For ManagersPatterns Are Good For Managers
Patterns Are Good For Managers
 
10. Imagini in MongoDB
10. Imagini in MongoDB10. Imagini in MongoDB
10. Imagini in MongoDB
 
Dive into React Performance
Dive into React PerformanceDive into React Performance
Dive into React Performance
 
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React AppsIntroducing ExtReact: Adding Powerful Sencha Components to React Apps
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
 
Ajax on drupal the right way - DrupalCamp Campinas, São Paulo, Brazil 2016
Ajax on drupal the right way - DrupalCamp Campinas, São Paulo, Brazil 2016Ajax on drupal the right way - DrupalCamp Campinas, São Paulo, Brazil 2016
Ajax on drupal the right way - DrupalCamp Campinas, São Paulo, Brazil 2016
 
첫 리액트 경험기
첫 리액트 경험기첫 리액트 경험기
첫 리액트 경험기
 
JavaScript JQUERY AJAX
JavaScript JQUERY AJAXJavaScript JQUERY AJAX
JavaScript JQUERY AJAX
 
Angular 2 Architecture
Angular 2 ArchitectureAngular 2 Architecture
Angular 2 Architecture
 
Upgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.xUpgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.x
 
Client-side Rendering with AngularJS
Client-side Rendering with AngularJSClient-side Rendering with AngularJS
Client-side Rendering with AngularJS
 
20141001 delapsley-oc-openstack-final
20141001 delapsley-oc-openstack-final20141001 delapsley-oc-openstack-final
20141001 delapsley-oc-openstack-final
 
Primefaces Nextgen Lju
Primefaces Nextgen LjuPrimefaces Nextgen Lju
Primefaces Nextgen Lju
 
Unobtrusive JavaScript
Unobtrusive JavaScriptUnobtrusive JavaScript
Unobtrusive JavaScript
 
Single Page Apps with Drupal 8
Single Page Apps with Drupal 8Single Page Apps with Drupal 8
Single Page Apps with Drupal 8
 
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
 
The Hitchhikers Guide To Html5 Offline Strategies (+firefoxOS)
The Hitchhikers Guide To Html5 Offline Strategies (+firefoxOS)The Hitchhikers Guide To Html5 Offline Strategies (+firefoxOS)
The Hitchhikers Guide To Html5 Offline Strategies (+firefoxOS)
 
JavaScript徹底整理セミナー "今から始める人も、整理したい人も"
JavaScript徹底整理セミナー "今から始める人も、整理したい人も"JavaScript徹底整理セミナー "今から始める人も、整理したい人も"
JavaScript徹底整理セミナー "今から始める人も、整理したい人も"
 
AngularJS Basics with Example
AngularJS Basics with ExampleAngularJS Basics with Example
AngularJS Basics with Example
 
Introduction to AJAX In WordPress
Introduction to AJAX In WordPressIntroduction to AJAX In WordPress
Introduction to AJAX In WordPress
 

Destacado

Starky and hutch 70s tv theme
Starky and hutch 70s tv themeStarky and hutch 70s tv theme
Starky and hutch 70s tv theme
Alex Grasso
 
Journey Through the Cloud - Data Analysis
Journey Through the Cloud - Data AnalysisJourney Through the Cloud - Data Analysis
Journey Through the Cloud - Data Analysis
Amazon Web Services
 

Destacado (11)

Learn Cloud Computing the right way!
Learn Cloud Computing the right way!Learn Cloud Computing the right way!
Learn Cloud Computing the right way!
 
Learn How to Build Mobile Apps Using Cloud Services
Learn How to Build Mobile Apps Using Cloud ServicesLearn How to Build Mobile Apps Using Cloud Services
Learn How to Build Mobile Apps Using Cloud Services
 
Starky and hutch 70s tv theme
Starky and hutch 70s tv themeStarky and hutch 70s tv theme
Starky and hutch 70s tv theme
 
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
MongoDB World 2016: Lunch & Learn: Google Cloud for the EnterpriseMongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
 
The Google Scholar Revolution: a big data bibliometric tool
The Google Scholar Revolution:  a big data bibliometric toolThe Google Scholar Revolution:  a big data bibliometric tool
The Google Scholar Revolution: a big data bibliometric tool
 
Journey Through the Cloud - Data Analysis
Journey Through the Cloud - Data AnalysisJourney Through the Cloud - Data Analysis
Journey Through the Cloud - Data Analysis
 
A Tool For Big Data Analysis using Apache Spark
A Tool For Big Data Analysis using Apache SparkA Tool For Big Data Analysis using Apache Spark
A Tool For Big Data Analysis using Apache Spark
 
Big Data Step-by-Step: Infrastructure 3/3: Taking it to the cloud... easily.....
Big Data Step-by-Step: Infrastructure 3/3: Taking it to the cloud... easily.....Big Data Step-by-Step: Infrastructure 3/3: Taking it to the cloud... easily.....
Big Data Step-by-Step: Infrastructure 3/3: Taking it to the cloud... easily.....
 
Pareto chart using Openoffice.org
Pareto chart using Openoffice.orgPareto chart using Openoffice.org
Pareto chart using Openoffice.org
 
Big Data - The 5 Vs Everyone Must Know
Big Data - The 5 Vs Everyone Must KnowBig Data - The 5 Vs Everyone Must Know
Big Data - The 5 Vs Everyone Must Know
 
7 qc toolsTraining pdf
7 qc toolsTraining pdf7 qc toolsTraining pdf
7 qc toolsTraining pdf
 

Similar a Introduction to RichFaces

ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin Lau
Spiffy
 

Similar a Introduction to RichFaces (20)

RichFaces 4 Webinar - New and Advanced Features
RichFaces 4 Webinar - New and Advanced FeaturesRichFaces 4 Webinar - New and Advanced Features
RichFaces 4 Webinar - New and Advanced Features
 
RichFaces: more concepts and features
RichFaces: more concepts and featuresRichFaces: more concepts and features
RichFaces: more concepts and features
 
What You Need To Build Cool Enterprise Applications With JSF
What You Need To Build Cool Enterprise Applications With JSFWhat You Need To Build Cool Enterprise Applications With JSF
What You Need To Build Cool Enterprise Applications With JSF
 
Hands On With Rich Faces 4 - JavaOne 2010
Hands On With Rich Faces 4 - JavaOne 2010Hands On With Rich Faces 4 - JavaOne 2010
Hands On With Rich Faces 4 - JavaOne 2010
 
RichFaces 4 webinar #2: RichFaces 3 toRichFaces 4
RichFaces 4 webinar #2: RichFaces 3 toRichFaces 4RichFaces 4 webinar #2: RichFaces 3 toRichFaces 4
RichFaces 4 webinar #2: RichFaces 3 toRichFaces 4
 
RichFaces 4: Rich Ajax Components For Your JSF Applications
RichFaces 4: Rich Ajax Components For Your JSF ApplicationsRichFaces 4: Rich Ajax Components For Your JSF Applications
RichFaces 4: Rich Ajax Components For Your JSF Applications
 
Ajax Applications with JSF 2 and new RichFaces 4 - Herbstcampus
Ajax Applications with JSF 2 and new RichFaces 4 - HerbstcampusAjax Applications with JSF 2 and new RichFaces 4 - Herbstcampus
Ajax Applications with JSF 2 and new RichFaces 4 - Herbstcampus
 
Ajax Applications with JSF 2 and New RichFaces 4 - TSSJS
Ajax Applications with JSF 2 and New RichFaces 4 - TSSJSAjax Applications with JSF 2 and New RichFaces 4 - TSSJS
Ajax Applications with JSF 2 and New RichFaces 4 - TSSJS
 
Primefaces Nextgen Lju
Primefaces Nextgen LjuPrimefaces Nextgen Lju
Primefaces Nextgen Lju
 
AnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFacesAnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFaces
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortal
 
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
 
Primefaces Confess 2012
Primefaces Confess 2012Primefaces Confess 2012
Primefaces Confess 2012
 
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010Hyperproductive JSF 2.0 @ JavaOne Brazil 2010
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010
 
A Peek At The Future: Going Beyond JavaServer Faces 2.0 With RichFaces 4
A Peek At The Future: Going Beyond JavaServer Faces 2.0 With RichFaces 4A Peek At The Future: Going Beyond JavaServer Faces 2.0 With RichFaces 4
A Peek At The Future: Going Beyond JavaServer Faces 2.0 With RichFaces 4
 
ASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin LauASP.NET Overview - Alvin Lau
ASP.NET Overview - Alvin Lau
 
JavaServer Faces 2.0 - JavaOne India 2011
JavaServer Faces 2.0 - JavaOne India 2011JavaServer Faces 2.0 - JavaOne India 2011
JavaServer Faces 2.0 - JavaOne India 2011
 
Ajax Applications with JSF 2 and New RichFaces 4 - CONFESS 2011
Ajax Applications with JSF 2 and New RichFaces 4 - CONFESS 2011Ajax Applications with JSF 2 and New RichFaces 4 - CONFESS 2011
Ajax Applications with JSF 2 and New RichFaces 4 - CONFESS 2011
 
Jsf Ajax
Jsf AjaxJsf Ajax
Jsf Ajax
 
Ajax Applications with JSF 2 and New RichFaces 4 - JAX/JSF Summit
Ajax Applications with JSF 2 and New RichFaces 4 - JAX/JSF SummitAjax Applications with JSF 2 and New RichFaces 4 - JAX/JSF Summit
Ajax Applications with JSF 2 and New RichFaces 4 - JAX/JSF Summit
 

Más de Max Katz

Más de Max Katz (15)

Using cloud tools to build enterprise mobile apps with APIs fast
Using cloud tools to build enterprise mobile apps with APIs fast Using cloud tools to build enterprise mobile apps with APIs fast
Using cloud tools to build enterprise mobile apps with APIs fast
 
Wolters Kluwer Tech. Conference: Disrupting Mobile Development
Wolters Kluwer Tech. Conference: Disrupting Mobile DevelopmentWolters Kluwer Tech. Conference: Disrupting Mobile Development
Wolters Kluwer Tech. Conference: Disrupting Mobile Development
 
Tiggzi at DC jQuery Meetup
Tiggzi at DC jQuery MeetupTiggzi at DC jQuery Meetup
Tiggzi at DC jQuery Meetup
 
Tiggr Mobile Apps Builder at Silicon Valley HTML5 Group Meetup
Tiggr Mobile Apps Builder at Silicon Valley HTML5 Group MeetupTiggr Mobile Apps Builder at Silicon Valley HTML5 Group Meetup
Tiggr Mobile Apps Builder at Silicon Valley HTML5 Group Meetup
 
Tiggr - Web-based IDE for Mobile Web And Native Apps
Tiggr - Web-based IDE for Mobile Web And Native AppsTiggr - Web-based IDE for Mobile Web And Native Apps
Tiggr - Web-based IDE for Mobile Web And Native Apps
 
Building Mobile Apps With jQuery For Any Device In The Cloud
Building Mobile Apps With jQuery For Any Device In The Cloud Building Mobile Apps With jQuery For Any Device In The Cloud
Building Mobile Apps With jQuery For Any Device In The Cloud
 
Ajax Applications with JSF2 and New RichFaces 4 at JAX 2011
Ajax Applications with JSF2 and New RichFaces 4 at JAX 2011Ajax Applications with JSF2 and New RichFaces 4 at JAX 2011
Ajax Applications with JSF2 and New RichFaces 4 at JAX 2011
 
Mobile Development Choices: Native Apps vs. Web Apps at JAX 2011
Mobile Development Choices: Native Apps vs. Web Apps at JAX 2011Mobile Development Choices: Native Apps vs. Web Apps at JAX 2011
Mobile Development Choices: Native Apps vs. Web Apps at JAX 2011
 
RichFaces 4 webinar #1: Everything You Need To Know
RichFaces 4 webinar #1: Everything You Need To KnowRichFaces 4 webinar #1: Everything You Need To Know
RichFaces 4 webinar #1: Everything You Need To Know
 
Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps
Devoxx2010 - Mobile Development Choices: Native Apps vs Web AppsDevoxx2010 - Mobile Development Choices: Native Apps vs Web Apps
Devoxx2010 - Mobile Development Choices: Native Apps vs Web Apps
 
RichFaces skins
RichFaces skinsRichFaces skins
RichFaces skins
 
Rich Enterprise Applications with JavaFX
Rich Enterprise Applications with JavaFXRich Enterprise Applications with JavaFX
Rich Enterprise Applications with JavaFX
 
Ajax Applications with RichFaces and JSF 2
Ajax Applications with RichFaces and JSF 2Ajax Applications with RichFaces and JSF 2
Ajax Applications with RichFaces and JSF 2
 
Building RIA Applications with JavaFX
Building RIA Applications with JavaFXBuilding RIA Applications with JavaFX
Building RIA Applications with JavaFX
 
Building RIA Applications with RichFaces
Building RIA Applications with RichFacesBuilding RIA Applications with RichFaces
Building RIA Applications with RichFaces
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Introduction to RichFaces

  • 1. JBoss RichFaces Webinar Series Introduction to RichFaces Webinar #1 Max Katz Charley Cowens © Exadel
  • 2. Future Webinars: April 21st, 2009 – More Concepts and Features May 19st, 2009 – Rich UI Components June 16th, 2009 - Skins © Exadel
  • 3. About Me Senior Systems Engineer RIA strategy, development, training http://mkblog.exadel.com Practical RichFaces (Apress) © Exadel
  • 4. The Plan Introduce RichFaces Example How To Install Basic Concepts: 1.Sending an AJAX request 2.Partial view rendering 3.Partial view processing Questions © Exadel
  • 5. RichFaces is JSF Framework JavaServer Faces is: • Standard technology in Java EE • Framework for building Web applications out of UI components © Exadel
  • 7. RichFaces 1. JSF-AJAX components (100+) 2. Skins 3. CDK (Component Development Kit) © Exadel
  • 8. JSF-AJAX Components Over 100 ready-to-use JSF AJAX components Two tag libraries • a4j – page-level AJAX support • rich – component-level AJAX support © Exadel
  • 9. Skins (Themes) Change the look-and-feel of pages on the fly Create custom skins © Exadel
  • 10. CDK Facility for creating, generating and testing your own rich JSF components © Exadel
  • 13. Installing Drop RichFaces JAR files richfaces-api-X.X.X.jar, richfaces-impl-X.X.X.jar, richfaces-ui- X.X.X.jar Filter registration <filter> <display-name>Ajax4jsf Filter</display-name> <filter-name>ajax4jsf</filter-name> <filter-class>org.ajax4jsf.Filter</filter-class> </filter> <filter-mapping> <filter-name>ajax4jsf</filter-name> <servlet-name>Faces Servlet</servlet-name> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> </filter-mapping> © Exadel
  • 14. What You Should Know Runs in: • Any servlet container, application server Works with: • Any JSF implementation (1.1, 1.2, 2.0soon) Works with: • Seam, Spring Works with any 3rd party components: • Tomahawk, Trinidad etc. © Exadel
  • 15. Basic Concepts 1.Sending AJAX request 2.Partial view (page) rendering 3.Partial view processing © Exadel
  • 16. Sending AJAX Request • a4j:support – add AJAX support to any parent component • a4j:commandButton, a4j:commandLink • a4j:poll – periodically send AJAX request • a4j:jsFunction – AJAX request from any custom JavaScript function • a4j:push – a ping-like request © Exadel
  • 17. Sending AJAX Request Using a4j:support <h:inputText value="#{bean.fruit}"> <a4j:support event="onblur" action="#{action.save}"> </<h:inputText> <h:selectOneMenu value="#{bean.fruit}"> <a4j:support event="onchange" ajaxSingle="true"> </<h:selectOneMenu> Using a4j:commandButton <a4j:commandButton value="AJAX Submit" action="#{echoBean.count}" reRender="echo, count" /> © Exadel
  • 18. Using a4j:support with rich components <rich:listShuttle sourceValue="#{toolBar.freeItems}" targetValue="#{toolBar.items}" var="items" converter="listShuttleconverter"> <rich:column width="18"> <h:graphicImage value="#{items.iconURI}"/> </rich:column> <rich:column> <h:outputText value="#{items.label}"/> </rich:column> <a4j:support event="onlistchanged" reRender="toolBar" /> <a4j:support event="onorderchanged" reRender="toolBar" /> </rich:listShuttle> © Exadel
  • 19. Partial View Rendering Point reRender to component id's to be rendered Use a4j:outputPanel to include components always to be rendered © Exadel
  • 20. <a4j:commandLink reRender="id1,id2"> ... Using <h:outputText id="id1"/> reRender <h:dataTable id="id2"> ... </h:dataTable> <a4j:commandLink reRender="panel"> ... Using <h:panelGrid id="panel"> reRender to point <h:outputText /> to container <h:dataTable>..</h:dataTable> </h:panelGrid> <a4j:commandLink> Using ... a4j:outputPanel <a4j:outputPanel ajaxRendered="true"> <h:outputText /> <h:dataTable>..</h:dataTable> <a4j:outputPane> © Exadel
  • 21. Partial View Processing Use ajaxSingle attribute Use <a4j:region>...</a4j:region> © Exadel
  • 22. Partial View Processing Using ajaxSingle <h:selectOneMenu value="#{bean.fruit}"> <a4j:support event="onchange" ajaxSingle="true"> </<h:selectOneMenu> Using a4j:region <a4j:region> <h:inputText /> <a4j:commandButton /> </a4j:region> <h:inputText © Exadel
  • 23. What We Covered Installing Basic Concepts: 1.Sending an AJAX request 2.Partial view rendering 3.Partial view processing © Exadel
  • 25. JSF/RichFaces Training On-site 1-3 days More info: http://mkblog.exadel.com © Exadel
  • 26. Future Webinars: April 21st, 2009 – More Concepts and Features May 19st, 2009 – Rich UI Components June 16th, 2009 - Skins © Exadel