You are on page 1of 44

JavaServer Faces

0312064 Hunh Vn Quc


0412090 Hunh Quc Tun
0412289 Phan S Trung
0412330 Thi Nht Quang
0512152 Nguyn Phc Hi
Cc Thnh Phn JSF
Ni Dung Trnh By
Gii Thiu JSF
Kin Trc JSF
u im-Khuyn im
1
2
3
4
5
1
Demo & QA
Gii Thiu JSF
Vit Tt ca JavaServer
Faces
1 Framework nhn lm
n gin ha vic pht
trin giao din
Mt bc tin trong vic
pht trin web,n xy
dng trn servlet API v
JSP








Craig McClanahan
Gii Thiu JSF
JSF Bao Gm:
Tp hm API pht trin cc
UI,x l s kin,kim tra d
liu u vo,qui nh v phn
trang v h tr a ngn ng
cho ngi dng.
Mt s thnh phn(Component)
c sn.
H tr th vin th phong ph
Kh nng qun l cc trng thi
tt










Craig McClanahan
Gii Thiu JSF
Mc tiu ca JSF:
To ra mt b khung tt
gng cc thnh phn ca GUI
vo,nhm lm n gin ha
vic pht trin giao din
To ra cc lp java c s
qun l cc thnh phn,s kin
ca cc thnh phn v chu k
sng ca n trong giao din
Cung cp cc thnh phn GUI
chung bao gm cc thnh phn
HTML input.









Craig McClanahan
Cc Thnh Phn JSF
Ni Dung Trnh By
Gii Thiu JSF
Kin Trc JSF
u im-Khuyn im
1
2
3
4
5
1
Demo & QA
Kin Trc JavaSever Faces
Kin Trc MVC
Kin Trc JSF
Kin Trc JavaSever Faces
Kin Trc MVC
Chia ng dng ra lm 3 phn:
Model
View
Control
Cc thnh phn c trch nhim duy
nht v khng ph thuc ln nhau.
Kin Trc JavaSever Faces
Kin Trc MVC
Thnh phn Model:
Lu tr d liu xung csdl
Kim tra d liu trc khi thao tc vi d liu
X l hu nh tt c cc nghip v

Kin Trc JavaSever Faces
Kin Trc MVC
Thnh phn View:
Hin th thng tin cho ngi dng
Nhn d liu t ngi dng a vo
D liu nhn t view s c chuyn xung
model v kim tra trc khi x l

Kin Trc JavaSever Faces
Kin Trc MVC
Thnh phn controller:
Tng trung gian gia Model v View
Nhn yu cu t client
Sinh ra kt qu cho ngi dng
Cc thnh phn ca Controller l:
ActionServlet,ActionFormvv
Kin Trc MVC
Model
Th hin d liu ti ngi dng
Nh JSP, HTML,.
Truy cp, tng tc vi d liu
Nh JavaBean, EJB, .
Kim sot yu cu, v la chn View tr v
Nh JavaServlet
Kin Trc JavaSever Faces
Kin Trc JSF

HTML
RenderKit
WML
RenderKit
Front
Ctrl
App
Back
end
JSF Page
Desktop
browser
Phone
Kin Trc JavaSever Faces
Kin Trc JSF
Ging nh kin trc MVC
Front Controller l 1 FacesServlet vai tr ca
Controller ging nh ngi gc cng
Cu trc ca JSF ging nh dng cy. Mi
node l 1 component. FacesServlet c trch
nhim dch componet sang m HTML,WML
Cc thnh phn trn kt hp vi Backend
Model gi l Backing bean XL s kin

Cc Thnh Phn JSF
Ni Dung Trnh By
Gii Thiu JSF
Kin Trc JSF
u im-Khuyn im
1
2
3
4
5
1
Demo & QA
Cc Thnh Phn Ca JSF
Cc Thnh Phn Bao Gm:
UI Component
UI Componet Class
M hnh Conversion
Renderer
Validators
Backing Beans
Event & Listent
Navigation

Model
Cc Thnh Phn Ca JSF
Thnh Phn Ui Componet:
c s dng trong vic pht trin giao din
web bng JSF
Bao gm cc thnh phn gin n nh
Button n phc tp nh table v kt hp cc
thnh phn li vi nhau
Thm hoc bt cc component 1 cch n
gin
C th truy cp n th tag ca JSF thng
Quan JSP
Model
Cc Thnh Phn Ca JSF
Thnh Phn Ui Componet Class:
Bao gm cc hm x l cho cc UI
Component
JSF cung cp cho ta sn 1 b cng c xy
dng UI Componet Class.Do chng ta c
th m rng UI Componet bng cch to UI
Componet ring cho mnh
UI Component Class c k th t UI
Componet Base

Cc Thnh Phn Ca JSF
M Hnh Conversion:
M hnh cho php kt hp d liu vi m hnh
Server-Side
Hai thnh phn ca d liu gm:
Model View
Presentaion View
Thnh phn ca d liu c th converted gia model
view v presentation view
Cc Thnh Phn Ca JSF
Thnh Phn Renderer:
Hin th cc component
Chuyn gi tr input thnh gi tr ca
componet
1 Render c th lm vic vi 1 hoc nhiu
Component
c t chc thnh cc renderkit tng ng
cho cc output khc nhau.
oHTML
oWireless-Makeup Language(WML)

Cc Thnh Phn Ca JSF
Thnh Phn Validator:
Kim tra d liu ngi dng nhp vo
Mt componet c nhiu validator
3 Cch:
mc UI Component
Cc phng thc Validator Backing Beans
S dng lp Validator


Cc Thnh Phn Ca JSF
Thnh Phn Validator:

Kim tra d liu ngi dng nhp vo

JSF c 1 tp cc Validator c bn.
Ngi dng c th vit thm
Khi validator bt c li, n add error
message vo message list

Cc Thnh Phn Ca JSF
Thnh Phn Backing Beans:
M hnh bao gm:
Tng d liu
Tng giao din
Controller: Gia 2 tng trn
JSF: Controller=Backing Beans
Bao gm:
Cc thuc tnh nhn t ngi dng
Event listener method


Cc Thnh Phn Ca JSF
Thnh Phn Backing Beans:
Lin kt UI Componet v Backing Beans l
JSF Expression Language



Cc Thnh Phn Ca JSF
Thnh Phn Backing Beans:



Cc Thnh Phn Ca JSF
Thnh Phn Event & Listener:
UI Componet pht sinh ra cc s kin
C 4 loi s kin c bn:
Value-change events: xy ra khi ngi dng thay i
gi tr component
Action events: xy ra khi ngi dng kch hot mt
component lnh nh button hay hyperlink (command
component)
Data model events: xy ra khi mt data-aware
component la chn mt dng x l.
And phase events: xy ra khi JSF x l mt HTTP
request.



Cc Thnh Phn Ca JSF
Thnh Phn Event & Listener:
Cc listener c ng k lng nghe s
kin




Cc Thnh Phn Ca JSF
Thnh Phn Navigation:
Kh nng chuyn trnh duyt sang trang khc
JSF c h thng Navigation mnh m kt hp
vi cc EventListenser
Khi mt trong cc thnh phn c kch hot,
v d nh bn vo nt mt ActionEvent c
thc hin
Nu cc ng dng yu cu Invoke th cc
Actionlistener s x l yu cu ny





Cc Thnh Phn JSF
Ni Dung Trnh By
Gii Thiu JSF
Kin Trc JSF
u im-Khuyn im
1
2
3
4
5
1
Demo & QA
u-Nhc imCa JSF
Vn trnh by:
u im ca JSF so vi MVC
Nhc im ca JSF so vi MVC
u im ca JSF so vi Struts
Khuyt im ca JSF so vi Struts





u-Nhc im Ca JSF
Vn trnh by:
u im ca JSF so vi MVC
Dng requestDispatcher
Dng chun
Nhc im ca JSF so vi MVC
Dng requestDispatcher
Dng chun
u im ca JSF so vi Struts
Khuyt im ca JSF so vi Struts





u-Nhc im Ca JSF
u im dng RequestDispatcher
Custom GUI Controls
JSF cung cp 1 tp hm API v cc th t to
c th gn gi tr to ra cc HTML form c
giao din phc tp
Event Handling
Gip thit k Java code lin quan n s kin
submit d dng hn
M code tng tc d dng hn vi button



u-Nhc im Ca JSF
u im dng RequestDispatcher
Managed beans
Trong JSP, jsp:setProperty c th ghi property=* t
ng gi (truyn dn) ti mt bean da trn tham s
truyn vo.
JSF c th m rng chc nng ny v thm vo mt vi
tin ch phc v cho vic n gin ha tin trnh yu
cu tham s
Expression Language
JSF cung cp mt ngn ng ngn gn v mnh m
truy cp cc thuc tnh ca bean v cc tp thnh phn
(collection elements)




u-Nhc im Ca JSF
u im dng Dng Chun
Form field conversion and validation (s
chuyn i v hp chun ha)
JSF c tch hp cc chc nng kim tra
cc gi tr trong form ng nh dng yu
cu khng v chuyn i t dng chui sang
nhiu dng kiu d liu khc. Nu gi tr b b
trng hoc sai nh dng, form c th t ng
hin th li vi thng bo li v gi tr nhp
vo trc .





u-Nhc im Ca JSF
u im dng Dng Chun
Centralized file-based configuration
Thay v code cng cc thng tin d liu vo
chng trnh Java th nhiu gi tr JSF c th
hin di dng XML hoc cc tp tin c t. Do
cc thay i ch cn chnh sa trn 1 tp tin
duy nht m khng cn chnh sa code hay
recompiling code
Consistent Approach
Khuyn khch cch lm ng b, thng nht ca
MVC trong xuyn sut ng dng





u-Nhc im Ca JSF
Khuyn im dng RequestDispatcher
Bigger learning curve
Worse documentation





u-Nhc im Ca JSF
Khuyn im dng Dng Chun
Less Transparent
Vi cc ng dng JSF, c rt nhiu vic thc thi
ngoi l so vi cc ng dng Web vit bng Java
bnh thng. V vy nn:
Kh hiu
Kh nh gi
Undeveloped tool support
C nhiu IDEs h tr mnh cho standard servlet v
JSP, h tr cho JSF ch mi bt u xut hin





u-Nhc im Ca JSF
u im So Vi Struts
Custom components
JSF kt hp cc GUIs phc tp vo trong mt
component n c th qun l mt cc d dng v
c tnh lin kt. Struts th khng
Support for other display technologies
JSF khng gii hn i vi HTML v HTTP; Struts th
c.
Access to beans by name
JSF cho php bn t tn cho beans, sau gi tn
cc beans trong forms. Struts c qu trnh phc tp
vi nhiu bc trung gian m bn phi nh form
no l u vo ca hnh ng no





u-Nhc im Ca JSF
u im So Vi Struts
JSF expression language (ngn ng m rng ca
JSF dng binding gia cc thnh phn ca
component vi cc thnh phn ca backing bean
) ngn gn v mnh hn Struts bean: vit tag
Simpler controller and bean definitions
JSF khng i hi cc lp bean v controller ca
bn phi k tha t bt k lp cha(vd: Action) hay
phng thc(vd: execute) no. Struts th bt buc.
Simpler config file and overall structure
Tp tin faces-config.xml d dng hn tp tin struts-
config.xml file.




u-Nhc im Ca JSF
Khuyt im So Vi Struts
Confusion vs. file names
Trang thc s dng trong JSF c ui .jsp. Nhng
trong URLs hin th ui
.faces hoc .jsf. Nn khi gi trc tip s b exception
Kh truy cp n trang non-faces trong tp tin faces-
config.xml
Self-submit approach
Trong Struts, form (vd: blah.jsp) v handler (blah.do)
c URLs khc nhau; trong JSF th ging nhau




u-Nhc im Ca JSF
Khuyt im So Vi Struts
Less current tool support
Struts c h tr bi nhiu IDEs; JSF th cha
Much weaker automatic validation
Struts kim tra tnh hp l ca a ch email, m th
tn dng, regular expressions,v nhiu th na.
JSF ch kim tra gi tr rng, chiu di v gii hn
cc s
POST only
JSF khng h tr phng thc GET nn khng th
bookmark cc trang kt qu




Cc Thnh Phn JSF
Ni Dung Trnh By
Gii Thiu JSF
Kin Trc JSF
u im-Khuyn im
1
2
3
4
5
1
Demo & QA
Demo & QA

You might also like