23
JBoss RichFaces Webinar Series Rich UI Components (rich:* Tag Library) Webinar #3 Max Katz Charley Cowens © Exadel

RichFaces: rich:* component library

  • Upload
    max-katz

  • View
    3.306

  • Download
    12

Embed Size (px)

Citation preview

Page 1: RichFaces: rich:* component library

JBoss RichFacesWebinar Series

Rich UI Components(rich:* Tag Library)

Webinar #3

Max KatzCharley Cowens

© Exadel

Page 2: RichFaces: rich:* component library

Upcoming Webinars:June 16th, 2009 - Skins

Page 3: RichFaces: rich:* component library

Who Is This Guy?Senior Systems EngineerRIA strategy, development, training http://mkblog.exadel.com http://twitter.com/maxkatz

Author ofPractical RichFaces(Apress)

Co-author ofRichFacesDzoneRefCard

Page 4: RichFaces: rich:* component library

The PlanReview what we have done so farComponents from rich:* tag libraryWhat's new in version 3.3.1Future plansQuestions

Page 5: RichFaces: rich:* component library

RichFaces1. JSF-AJAX components (100+)2. Skins3. CDK (Component Development Kit)

Page 6: RichFaces: rich:* component library

What You Should KnowRuns in: • Any servlet container, application

server• Portals: JBoss, WebLogic, LiferayWorks with:• Any JSF implementation (1.1, 1.2,

2.0soon) Works with:• Seam, SpringWorks with any 3rd party components:• Tomahawk, Trinidad, QuipuKit, etc.

Page 7: RichFaces: rich:* component library

JBoss Tools

Page 8: RichFaces: rich:* component library

Basic Concepts and More1.Sending AJAX requests2.Partial view (page) rendering3.Partial view processing4.Controlling traffic

Page 9: RichFaces: rich:* component library

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

Page 10: RichFaces: rich:* component library

Partial View RenderingPoint reRender to component IDs to be rendered

• Bind to EL to decide in runtimeUse a4j:outputPanel to mark areas on a view always to be rendered

Page 11: RichFaces: rich:* component library

<a4j:commandLink reRender="panel"/><h:panelGrid id="panel"> <h:outputText /> <h:dataTable>..</h:dataTable></h:panelGrid>

<a4j:commandLink reRender="id1,id2"/><h:outputText id="id1"/><h:dataTable id="id2">..</h:dataTable>

<a4j:commandLink/><a4j:outputPanel ajaxRendered="true"> <h:outputText /> <h:dataTable>..</h:dataTable><a4j:outputPanel>

Using reRender

Using reRender to pointto container

Usinga4j:outputPanel

<a4j:commandLink reRender="#{bean.renderControls}"><h:outputText id="id1"/><h:dataTable id="id2">...</h:dataTable>

reRender withEL

Page 12: RichFaces: rich:* component library

Partial View Processing

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

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

Using a4j:region

Using ajaxSingle

Page 13: RichFaces: rich:* component library

a4j:queue – controls traffic between client and server–Wait for request to return before

sending new one– Set request delay– “Replaces” requests from the same

logical components– Define queue size• Define queue behavior when size is

exceeded (fire/drop new, fire/drop first)<a4j:queue name="ajaxQueue" requestDelay="1000"/>...<a4j:commandButton value="Delete" similarityGroupingId="actionGroup" eventsQeueu="ajaxQueue"/><a4j:commandButton value="Save" similarityGroupingId="actionGroup" eventsQeueu="ajaxQueue"/>

Page 14: RichFaces: rich:* component library

Rich UI Componentsrich:* tag librarySelf-contained, ready-to-use rich UI controlsOver 80 components

Page 15: RichFaces: rich:* component library

Types of ComponentsOutputInputData iteration (incl. scrolling, spanning)Drag-and-dropMenuSelectsTreesMiscellaneous

Page 16: RichFaces: rich:* component library

RichFaces 3.3.1Released May 18th, 2009rich:colorPickerrich:pagerich:layout, rich:layoutPanelthemes - predefined and packaged layouts

Page 17: RichFaces: rich:* component library

Header

header

footer

sid

eb

ar

rich:page

subheader

top

center

top

bottom

left right

rich:layout, rich:layoutPanel

Page 18: RichFaces: rich:* component library

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

Page 19: RichFaces: rich:* component library

RichFaces 4.0Full integration with JSF 2.0Updated for redesigned for consistency, performanceRelease schedule (2009): Alpha June

Beta August

CR September

GA October

http://www.jboss.org/community/wiki/RichFaces40Planning

Page 20: RichFaces: rich:* component library

What We CoveredReviewed basic conceptsRich UI componentsWhat's new in RichFaces 3.3.1RichFaces 4.0 plans

Page 21: RichFaces: rich:* component library

Upcoming Webinars:June 16th, 2009 - Skins

Page 22: RichFaces: rich:* component library

JSF/RichFaces TrainingOn-site 1-3 daysMore info: http://mkblog.exadel.com

Page 23: RichFaces: rich:* component library

Thank You. [email protected]://mkblog.exadel.com