jsf components

23
JSF Components !! ! 2003 - 2007 DevelopIntelligence

Upload: sarangdave

Post on 10-Apr-2018

241 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 1/23

JSF Components

!!!2003 - 2007 DevelopIntelligence

Page 2: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 2/23

Components of JSF Framework

As a review, JSF is comprised of:

" ! Managed-beans

" ! Provide the MODEL functionality

" ! Can be any “Java Bean” the faces JSF tag library

" ! JSF Tab Libraries

" ! Used to develop the VIEW in JSF

" ! Two primary libraries:

" !JSF Core – View

" !JSF HTML – UI Components" ! FacesServlet

" ! Provides CONTROLLER functionality

" ! Contains well-defined lifecycle

!2003 - 2007 DevelopIntelligence

Page 3: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 3/23

Managed Beans

" !Function as model for JSF

" ! Lifecycle managed by container 

" ! Declared in faces-config.xml file

" !Have differing scopes" ! Request - life of HTTP Request (created for every

request)

" ! Session - life of the session (created once during

session)

" ! Application - life of application (created once during

application, shared across sessions)

" ! None - not associated with scope; temporary object

!2003 - 2007 DevelopIntelligence

Page 4: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 4/23

Managed Bean Bindings

" !Managed bean properties bound to JSF

UIComponents

" ! JSF automatically get/set property data

" !JSF performs conversion using reflection and convertors" !Support most type of property types

" ! Primitives, Booleans

" ! Indexed properties through String[]

" ! If more complex type, need to assign a converter " ! Prebuilt convertors found in core tag library

" ! Can create own convertors

! 2003 - 2007 DevelopIntelligence

Page 5: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 5/23

JSF Core Tag Library

" !Core tag provides customization of 

" ! User Interface Component tree

" ! FacesServlet interactions with UI

" ! Included using taglib directive" ! <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>

" ! Required to have a valid faces view

! 2003 - 2007 DevelopIntelligence

Page 6: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 6/23

User Interface Component Tree

" !A VIEW in JSF is represented in a component

tree

" ! Similar to the container-component structure of Swing

" !A component tree is associated with every request andresponse

" ! Component tree is built as part of FacesServlet when

request processing begins

" !All JSF component trees require a top-level

container " ! Component tree is modeled as a UIViewRoot

" ! Contains a set of UIComponents

! 2003 - 2007 DevelopIntelligence

Page 7: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 7/23

<f:view>

" !Represents faces view component (UIViewRoot)

" !One <f:view /> per JSP

" !Can have subviews

" ! Function as sub-containers of components" ! <f:subview> … </f:subview>

" ! Identified by:

" ! A view id

" ! Render kit" ! Locale

! 2003 - 2007 DevelopIntelligence

Page 8: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 8/23

Core Library and FacesServlet

" !FacesServlet responsible for making JSF

“framework” work

" !Core Library extends capabilities in three main

areas:" ! Validation

" ! Conversion

" ! Event handling

! 2003 - 2007 DevelopIntelligence

Page 9: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 9/23

JSF HTML Tag Library

" !Represents HTML User Interface components

" ! Attach HTML renderers to standard UIComponent

classes

" ! Referenced within a <f:view> . . . </f:view>

" !Each component defined in terms of:

" ! Component type:

" !Input, Output, Select

" !Command

" ! Render Type:

" !Text, TextArea, SelectOne

" !Button, Link

! 2003 - 2007 DevelopIntelligence

Page 10: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 10/23

JSF HTML Components

" !Components follow

<h:componentTypeRenderType> format

" ! <h:commandButton>

" !<h:commandLink>" ! <h:selectManyCheckbox>

" ! Etc.

" !Use XML syntax

" !Well-formed (open and close tags)" ! Configured through attributes

" ! Many provide pass-through configuration to HTML

counterpart

! 2003 - 2007 DevelopIntelligence

Page 11: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 11/23

JSF HTML Forms

" !<h:form> … </h:form>

" ! JSF equivalent to HTML form

" ! Contains form data; container for input components

" !Can be used to render values

" !Can be used to capture values

" ! Action associated with command not form

" !All forms sent using POST

" ! Form data sent using a “command” component

" ! <h:commandButton />

" ! <h:commandLink />

! 2003 - 2007 DevelopIntelligence

Page 12: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 12/23

FacesServlet

" !Functions as the front-controller in JSF

" ! Configurable through faces-config.xml

" ! Also supports extension through subclassing

" !Associates a FacesContext with each request" ! Contains all per-request state data related to processing

JSF request

" ! Programmatically accessible by calling:

FacesContext.getCurrentInstance()

" ! Provides access to request, session, application

contexts through getExternalContext() call

" !Executes a specific lifecycle

! 2003 - 2007 DevelopIntelligence

Page 13: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 13/23

FacesServlet Lifecycle

! 2003 - 2007 DevelopIntelligence

Page 14: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 14/23

JSF Lifecycle : Restore View

" !Builds (or rebuilds)

component view of aJSF page

" !Associates eventlisteners, validators,

etc. to UI components

" !Saves the view in the

FacesContext

! 2003 - 2007 DevelopIntelligence

Page 15: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 15/23

JSF Lifecycle : Apply Requests

" !Component “state”

data needs to beupdated with request

parameter data" !Updating performed

using a decodeoperation

" !Performs dataconversion

! 2003 - 2007 DevelopIntelligence

Page 16: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 16/23

JSF Lifecycle : Process Validators

" !New data needs to be

validated beforemodel is updated

" !Validation occurs for where required

" !Not all components

may have an

associated validator 

! 2003 - 2007 DevelopIntelligence

Page 17: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 17/23

JSF Lifecycle : Update Model

" !Converted and

validated data needsto be applied to model 

" !Data applied usingset calls

" !Only data associated

with input

components areupdated

! 2003 - 2007 DevelopIntelligence

Page 18: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 18/23

JSF Lifecycle : Invoke Application

" !Execute “controller”

logic associated withthe command

components" !Calls “action” method

! 2003 - 2007 DevelopIntelligence

Page 19: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 19/23

JSF Lifecycle : Render Response

" !Delegates rendering

of response to JSP

" !UI tag libraries and

EL are converted intoHTML

! 2003 - 2007 DevelopIntelligence

Page 20: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 20/23

JSF Lifecycle : Process Events

" ! JSF framework generates

events for each phase of 

lifecycle

" ! Events are generated

before a phase beginsand after it completes

" ! Different phases haveassociated events

" ! ActionEvent

" ! ValueChangeEvent

" ! Event handling may effectsubsequent flow

! 2003 - 2007 DevelopIntelligence

Page 21: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 21/23

About DevelopIntelligence

! "Founded in 2003! "Provides outsourced services to learningorganizations in area of software development! "Represents over 35 years of combinedexperience, enabling software developmentcommunity through educational andperformance services! "Represents over 50 years of combined software

development experience! "Delivered training to over 40,000 developersworldwide

! 2003 - 2007 DevelopIntelligence

Page 22: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 22/23

Areas of Expertise

! " Instruction

! " Java

! " J2EE

! " WebServices / SOA

! " Web Application

Development

! " Database Development

! " Open Source

Frameworks! " Application Servers

! " Courseware

! " Java Application

Development

! " Java Web App

Development! " Enterprise Java

Development

! " OOAD / UML

! " IT Managerial

! " Emerging Technologiesand Frameworks

! 2003 - 2007 DevelopIntelligence

Page 23: Jsf Components

8/8/2019 Jsf Components

http://slidepdf.com/reader/full/jsf-components 23/23

Contact Us

! "For more information about our services, please

contact us:

! " Kelby Zorgdrager 

! " [email protected] 

! " 303-395-5340

! 2003 - 2007 DevelopIntelligence