Upload
vijay729
View
245
Download
3
Tags:
Embed Size (px)
DESCRIPTION
jsf
Citation preview
8 Like Like Tweet 0also r ead:Fol low @j avabeatAdvertise Here1
2 67 8 cont ext Conf i gLocat i on9 10 / WEB- I NF/ conf i g/ spr i
ng- f c- conf i g. xml11 12 1314 15 j avax. f aces. DEFAULT_SUFFI
X16 . xht ml 17 1819 20 f acel et s. DEVELOPMENT21 true22 2324 25 f
acel et s. REFRESH_PERI OD26 127 2829 30 char Encodi ngFi l t er 31
or g. spr i ngf r amewor k. web. f i l t er . Char act er Encodi
ngFi l t er 32 Integrating Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/1 of
13 08-07-2015 23:0633 encodi ng34 UTF- 835 36 37 f or ceEncodi ng38
true39 40 4142 43 char Encodi ngFi l t er 44 / *45 4647 48 or g.
spr i ngf r amewor k. web. cont ext . Cont ext Loader Li st ener 49
5051 52 Resour cesSer vl et 53 or g. spr i ngf r amewor k. j s. r
esour ce. Resour ceSer vl et 54 055 5657 58 Resour cesSer vl et 59
/ r esour ces/ *60 6162 63 Spr i ngMVCDi spat cher Ser vl et 64 or
g. spr i ngf r amewor k. web. ser vl et . Di spat cher Ser vl et 65
66 cont ext Conf i gLocat i on67 68 69 270 7172 73 Spr i ngMVCDi
spat cher Ser vl et 74 / spr i ng/ *75 7677 78 FacesSer vl et 79 j
avax. f aces. webapp. FacesSer vl et 80 181 8283 84 FacesSer vl et
85 *. f aces86 8788 89 i ndex. ht ml 90 9192 1 2 1617 18 1920 21 22
2324 2526 27 28 29 / t est =f l owCont r ol l er30 Integrating
Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/2 of
13 08-07-2015 23:0631 32 33 34 35 3637 38 39 4041 42 43 44 45 4647
1 2 56 7 8 9 com. sun. f acel et s. Facel et Vi ewHandl er 10 11 1
2 3 4 5 1 2 56 7 89 1 2 3 4 5 1 2 3 6 78 910 11 1213 14 Sampl
epagewhi chi l l ust r at est hei nt egr at i onbet weenJ SFandSpr
i ngWebFl ow15 1617 1819 20 1 2 89 10 1112 13 14 15 Cl i ckher et
oi nvoket heFacel et spage16 17 18 19 1 2 56 78 9 Integrating
Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/4 of
13 08-07-2015 23:0610 11 1213 14 15 17 18 1920 1 2 3 8 910 1112 13
Empl oyeeSear chPage14 1516 17 18 Sear chEmpl oyee: 19 20 21
22
23 24 25 2627 2829 30 1 2 3 8 910 1112 13 Sear chResul t s14 1516
1718 19 20 EmpI d21 22 23 Integrating Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/5 of
13 08-07-2015 23:0624 Name25 26 27 28 Dat eof Bi r t h29 30 31 32
Desi gnat i on33 34 35 3637 38 Sear chAgai n39 4041 4243 4445 46 1
package net . j avabeat . spr i ng. webf l ow. j sf . sear ch. empl
oyee;23 i mport j ava. i o. Ser i al i zabl e;4 i mport j ava. ut i
l . Dat e;56 publ i c cl assEmpl oyeei mpl ementsSer i al i zabl
e{78 pri vate St r i ngi d;9 pri vate St r i ngname;10 pri vate Dat
edob;11 pri vate St r i ngdesi gnat i on;1213 publ i cSt r i ngget
Desi gnat i on( ) {14 return desi gnat i on;15 }1617 publ i c voi d
set Desi gnat i on( St r i ngdesi gnat i on) {18 thi s. desi gnat i
on= desi gnat i on;19 }2021 publ i cDat eget Dob( ) {22 return
dob;23 }2425 publ i c voi d set Dob( Dat edob) {26 thi s. dob=
dob;27 }2829 publ i cSt r i ngget I d( ) {30 return i d;31 }3233
publ i c voi d set I d( St r i ngi d) {34 thi s. i d= i d;35 }3637
publ i cSt r i ngget Name( ) {38 return name;39 }4041 publ i c voi
d set Name( St r i ngname) {42 thi s. name= name;43 }4445
}Integrating Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/6 of
13 08-07-2015 23:061 package net . j avabeat . spr i ng. webf l ow.
j sf . sear ch. empl oyee;23 i mport j ava. i o. Ser i al i zabl
e;45 publ i c cl assEmpl oyeeCr i t er i ai mpl ementsSer i al i
zabl e{67 pri vate stati c fi nal l ong ser i al Ver si onUI D
=1L;8 pri vate St r i ngempName;910 publ i cSt r i ngget EmpName( )
{11 return empName;12 }1314 publ i c voi d set EmpName( St r i
ngempName) {15 thi s. empName= empName;16 }1718 }1 package net . j
avabeat . spr i ng. webf l ow. j sf . sear ch. empl oyee;23 i mport
j ava. ut i l . Ar r ayLi st ;4 i mport j ava. ut i l . Dat e;5 i
mport j ava. ut i l . Li st ;67 publ i c cl assEmpl oyeeSear chSer
vi ce{89 pri vate stati cLi st al l Empl oyees;1011 publ i cLi st f
i ndEmpl oyees( Empl oyeeCr i t er i acr i t er i a) {1213 Li st
sear chedEmpl oyees= newAr r ayLi st ( ) ;14 i f ( cr i t er i a==
nul l ) {15 return al l Empl oyees;16 }1718 St r i ngsear
chEmpName= cr i t er i a. get EmpName( ) ;19 i f ( sear chEmpName!
= nul l && sear chEmpName. t r i m( ) . l engt h( ) > 0)
{2021 for ( Empl oyeeanEmpl oyee: al l Empl oyees) {2223 i f (
anEmpl oyee. get Name( ) . cont ai ns( sear chEmpName) ) {24 sear
chedEmpl oyees. add( anEmpl oyee) ;25 }26 }27 return sear chedEmpl
oyees;28 }el se{29 return al l Empl oyees;30 }31 }3233 stati c{3435
al l Empl oyees= newAr r ayLi st ( ) ;36 al l Empl oyees. add( empl
oyee( "10000", "St eveCl ar k", newDat e( 1960, 6, 12) , "Empl
oyee") ) ;37 al l Empl oyees. add( empl oyee( "10000", "Al f r
edRay", newDat e( 1954, 4, 17) , "Manager ") ) ;38 al l Empl oyees.
add( empl oyee( "10000", "Rober t Woul sh", newDat e( 1944, 2, 16)
,"Di r ect or ") ) ;39 }4041 stati cEmpl oyeeempl oyee( St r i ngi
d, St r i ngname, Dat edob, St r i ngdesi gnat i on) {4243 Empl
oyeeempl oyee=newEmpl oyee( ) ;44 empl oyee. set I d( i d) ;45 empl
oyee. set Name( name) ;46 empl oyee. set Dob( dob) ;47 empl oyee.
set Desi gnat i on( desi gnat i on) ;48 return empl oyee;49 }50
}Integrating Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/7 of
13 08-07-2015 23:061 2 1920 21 2223 24 25 26 27 2829 30 31 3233
3435 36 37 38 3940 41 42 43 / bookMai n=f l owCont r ol l er44 /
bookSear chPage=f l owCont r ol l er45 / bookAdd=f l owCont r ol l
er46 47 48 49 50 Integrating Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/8 of
13 08-07-2015 23:0651 5253 54 55 5657 58 59 60 61 6263 6465 66 67
6869 70 71 72 73 74 7576 77 78 79 80 81 8283 1 2 6 7 or g. hi ber
nat e. ej b. Hi ber nat ePer si st ence8 net . j avabeat . spr i
ng. webf l ow. j sf . book. Book9 10 11 12 13 14 15 16 1 package
net . j avabeat . spr i ng. webf l ow. j sf . book;23 i mport j
ava. i o. Ser i al i zabl e;4 i mport j avax. per si st ence. Ent i
t y;5 i mport j avax. per si st ence. Gener at edVal ue;6 i mport j
avax. per si st ence. Gener at i onType;7 i mport j avax. per si st
ence. I d;89 @Ent i t y10 publ i c cl assBooki mpl ementsSer i al i
zabl e{1112 pri vate stati c fi nal l ong ser i al Ver si onUI D
=1L;1314 @I d15 @Gener at edVal ue( st r at egy= Gener at i onType.
AUTO)16 pri vate Longi d;17 pri vate St r i ngname;18 pri vate St r
i ngcat egor y;19 pri vate St r i ngaut hor ;20 pri vate doubl e pr
i ce;2122 publ i cSt r i ngget Aut hor ( ) {23 return aut hor ;24
}2526 publ i c voi d set Aut hor ( St r i ngaut hor ) {27 thi s.
aut hor = aut hor ;Integrating Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/9 of
13 08-07-2015 23:0628 }2930 publ i cSt r i ngget Cat egor y( ) {31
return cat egor y;32 }3334 publ i c voi d set Cat egor y( St r i
ngcat egor y) {35 thi s. cat egor y= cat egor y;36 }3738 publ i cSt
r i ngget Name( ) {39 return name;40 }4142 publ i c voi d set Name(
St r i ngname) {43 thi s. name= name;44 }4546 publ i c doubl e get
Pr i ce( ) {47 return pr i ce;48 }4950 publ i c voi d set Pr i ce(
doubl e pr i ce) {51 thi s. pr i ce=pr i ce;52 }5354 publ i
cLongget I d( ) {55 return i d;56 }5758 publ i c voi d set I d(
Longi d) {59 thi s. i d= i d;60 }6162 @Over r i de63 publ i c i nt
hashCode( ) {64 i nt hash= 0;65 hash+= ( i d! = nul l ?i d.
hashCode( ) : 0) ;66 return hash;67 }6869 @Over r i de70 publ i c
bool ean equal s( Obj ect obj ect ) {71 i f ( ! ( obj ect i
nstanceof Book) ) {72 return fal se;73 }74 Bookot her =( Book) obj
ect ;75 i f ( ( thi s. i d== nul l && ot her . i d! = nul l
) | | ( thi s. i d! = nul l &&! thi s. i d. equal s( ot her
. i d) ) ) {76 return fal se;77 }78 return true;79 }8081 @Over r i
de82 publ i cSt r i ngt oSt r i ng( ) {83 return "net . j avabeat .
spr i ng. webf l ow. j sf . book. Book[ i d=" + i d+"] ";84 }8586
}1 package net . j avabeat . spr i ng. webf l ow. j sf . book;23 i
mport j ava. ut i l . Li st ;45 publ i c i nterface BookSer vi
ce{67 Li st f i ndAl l Books( ) ;89 Li st f i ndBooks( BookSear
chCr i t er i acr i t er i a) ;1011 voi d cr eat eBook( St r i
ngname, St r i ngcat egor y, St r i ngaut hor , doubl e pr i ce)
;1213 }1 package net . j avabeat . spr i ng. webf l ow. j sf .
book;23 i mport j ava. ut i l . Li st ;4 i mport j avax. per si st
ence. Ent i t yManager ;5 i mport j avax. per si st ence. Per si st
enceCont ext ;6 i mport j avax. per si st ence. Quer y;7 i mport or
g. spr i ngf r amewor k. st er eot ype. Reposi t or y;8 i mport or
g. spr i ngf r amewor k. st er eot ype. Ser vi ce;Integrating
Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/10 of
13 08-07-2015 23:069 i mport or g. spr i ngf r amewor k. t r ansact
i on. annot at i on. Tr ansact i onal ;1011 @Ser vi ce( "bookSer vi
ce")12 @Reposi t or y13 publ i c cl assBookSer vi ceI mpl i mpl
ementsBookSer vi ce{1415 pri vate Ent i t yManager em;1617 @Per si
st enceCont ext18 publ i c voi d set Ent i t yManager ( Ent i t
yManager em) {19 thi s. em= em;20 }2122 @Tr ansact i onal ( r
eadOnl y=true)23 publ i cLi st f i ndAl l Books( ) {24 Quer yquer
y= em. cr eat eQuer y( "sel ect bookf r omBookbook") ;25 Li st r
esul t s= quer y. get Resul t Li st ( ) ;2627 i f ( r esul t s==nul
l | | r esul t s. si ze( ) == 0) {28 cr eat eTest Books( ) ;29
return quer y. get Resul t Li st ( ) ;30 }el se{31 return r esul t
s;32 }33 }3435 pri vate voi d cr eat eTest Books( ) {3637 cr eat
eBook( "J avaPr ogr ammi ng", "Techni cal ", "J ames", 1110. 00)
;38 cr eat eBook( "Li f eAf t er Deat h", "Spi r i t ual ",
"Unknown", 3140. 00) ;39 cr eat eBook( "Al l About Numer ol ogy",
"Numer ol gy", "Ri char d", 6130. 00) ;40 }4142 @Tr ansact i onal (
r eadOnl y=true)43 publ i cLi st f i ndBooks( BookSear chCr i t er
i acr i t er i a) {4445 i f ( cr i t er i a== nul l ) {46 return f
i ndAl l Books( ) ;47 }4849 St r i ngname= cr i t er i a. get Name(
) ;50 St r i ngaut hor = cr i t er i a. get Aut hor ( ) ;5152 St r
i ngquer y= "sel ect bookf r omBook";53 i f ( name! = nul l
&& name. t r i m( ) . l engt h( ) > 0) {54 quer y= quer
y+"wher eupper ( book. name) = : name";55 }5657 i f ( aut hor ! =
nul l && aut hor . t r i m( ) . l engt h( ) > 0) {58 i f
( quer y. cont ai ns( "wher e") ) {59 quer y= quer y+ "and";60 }el
se{61 quer y= quer y+ "wher e";62 }63 quer y= quer y+"upper ( book.
aut hor ) = : aut hor ";64 }6566 Quer yquer yObj ect =em. cr eat
eQuer y( quer y) ;67 quer yObj ect . set Par amet er ( "name",
name) ;68 quer yObj ect . set Par amet er ( "aut hor ", aut hor )
;6970 Li st r esul t s= quer yObj ect . get Resul t Li st ( ) ;71 i
f ( r esul t s== nul l | | r esul t s. si ze( ) ==0) {72 cr eat
eTest Books( ) ;73 }74 return quer yObj ect . get Resul t Li st ( )
;75 }7677 @Tr ansact i onal ( r eadOnl y=true)78 publ i c voi d cr
eat eBook( St r i ngname, St r i ngcat egor y, St r i ngaut hor ,
doubl e pr i ce) {7980 Bookbook= newBook( ) ;81 book. set Name(
name) ;82 book. set Cat egor y( cat egor y) ;83 book. set Aut hor (
aut hor ) ;84 book. set Pr i ce( pr i ce) ;85 em. per si st ( book)
;86 }87 }1 2 56 78 9 10 11 12 Integrating Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/11 of
13 08-07-2015 23:0613 14 1516 17 18 20 21 2223 1 Comment Sort
byRafael Ruiz Tabares Bristol, United KingdomVery nice work! Thank
you for writing this article. Now I'm developinga webapp on
hibernate,spring core, security, social,webflow and
jsf2,primefaces, prettyfaces. And I can say that it's a puzzle!Like
Reply Feb 12, 2014 3:16pmFacebook Comments PluginAdd a
comment...Unify your ALM tools nowAre your applications working in
silos? ConnectALL unifiesthem!Integrating Spring Web Flow with JSF
http://www.javabeat.net/integrating-spring-web-flow-with-jsf/12 of
13 08-07-2015 23:06What is the difference between JRE,JVM andJDK?
Quartz Job Scheduler Example Code Spring 5 AnnouncedQuartz
Scheduler Tutori al JAVABEATUnique Method Regrows Lost Hair(Do This
Daily)Lifestyle Journal5 Worst Shift Knobs EverWeb2Carz.comUltimate
Guide to RehabTheFix.com0 Comments1Integrating Spring Web Flow with
JSF http://www.javabeat.net/integrating-spring-web-flow-with-jsf/13
of 13 08-07-2015 23:06