FKDSWHU
AW]KIV][MVM[\MLM`XZM[[QWV[
QV[QLM\PMJZIKSM\[
MDYDXWLO0DSPXVLF0DS QHZMDYDXWLO+DVK0DS
PXVLF0DSSXW³$PELHQW´³=HUR´
PXVLF0DSSXW³6XUI´³7DKLWL´
PXVLF0DSSXW³'-´³%7´
PXVLF0DSSXW³,QGLH´³)URX)URX´
UHTXHVWVHW$WWULEXWH³PXVLF0DS´PXVLF0DS
6WULQJ>@PXVLF7\SHV ^³$PELHQW´³6XUI´³'-´³,QGLH´`
UHTXHVWVHW$WWULEXWH³0XVLF7\SH´PXVLF7\SHV
0XVLFLV^PXVLF0DS>0XVLF7\SH>@@`
,QDVHUYOHW
7KLV'2(6ZRUNLQD-63
KWWSORFDOKRVWWHVW-637HVWHUGR
0XVLFLV=HUR
0XVLFLV^PXVLF0DS>³$PELHQW´@`
)TSEXPRESSIONSALLTHEWAYDOWNIN%,9OUNEST
EXPRESSIONSTOANYARBITRARYLEVEL)NOTHERWORDSYOUCAN
PUTACOMPLEXEXPRESSIONINSIDEACOMPLEXEXPRESSION
INSIDEAITKEEPSGOING!NDTHEEXPRESSIONSARE
EVALUATEDFROMTHEINNERMOSTBRACKETSOUT
4HISPARTWILLSEEMCOMPLETELYINTUITIVETOYOUBECAUSE
ITSNODIFFERENTTHANNESTING*AVACODEWITHINPARENS4HE
TRICKYPARTISTOWATCHOUTFORQUOTESVSNOQUOTES
0XVLFLV=HUR
becomes
becomes
QHVWHGH[SUHVVLRQV
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
AW]KIV¼\LW^IRR`
7ITHBEANSAND-APSYOUCANUSETHEDOTOPERATORBUTONLYIFTHE
THINGYOUTYPEAFTERTHEDOTISALEGAL*AVAIDENTIFER
7KLV
^PXVLF0DS$PELHQW`
,VWKHVDPHDV
WKLV
^PXVLF0DS>³$PELHQW´@`
%XW
WKLV
^PXVLF/LVW>³´@`
&$1127EHWXUQHGLQWR
WKLV
^PXVLF/LVW`
NO! NO! NO!
works
works
,I\RXZRXOGQ·WXVHLWIRUD
YDULDEOHQDPHLQ\RXU-DYDFRGH
'21·7SXWLWDIWHUWKHGRW
6KDUSHQ \RXU SHQFLO
MDYDXWLO$UUD\/LVWQXPV QHZMDYDXWLO$UUD\/LVW
QXPVDGG³´
QXPVDGG³´
QXPVDGG³´
UHTXHVWVHW$WWULEXWH³QXPEHUV´QXPV
6WULQJ>@IDYRULWH0XVLF ^³=HUR´³7DKLWL´³%7´³)URX)URX´`
UHTXHVWVHW$WWULEXWH³PXVLF/LVW´IDYRULWH0XVLF
^PXVLF/LVW>QXPEHUV>@@`
^PXVLF/LVW>QXPEHUV>@@`
^PXVLF/LVW>QXPEHUV>³´@@`
^PXVLF/LVW>QXPEHUV>QXPEHUV>@@@`
:KDWSULQWV"
*LYHQWKHVHUYOHWFRGHEHORZ¿JXUHRXWZKDWZRXOGSULQWRULIWKHUH¶GEHDQHUURU
MXVWZULWH\RXNQRZ³HUURU´$QVZHUVDUHDWWKHERWWRPRIWKHQH[WSDJH
(WeÕll talk more about EL
operators in a few pages.)
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
$ONTBESURPRISEDIFYOUlNDSOMETHINGLIKE
THISONTHEEXAMEXCEPTINTHEREALEXAMITLL
LOOKUGLIER
3TUDYTHETHREECLASSESONTHEPAGEAND
THESERVLETCODEONTHEOPPOSITEPAGETHEN
CONSTRUCTTHECODEMAGNETSTOMAKETHE%,
THATLLPRODUCETHERESPONSESHOWNINTHE
BROWSER4URNTHEPAGEFORTHEANSWERSBUT
NOTUNTILYOU$/4()3ESPECIALLYIFYOURE
GOINGTOTAKETHEEXAM
SDFNDJHIRR
SXEOLFFODVV'RJ^
SULYDWH6WULQJQDPH
SULYDWH7R\>@WR\V
SXEOLFYRLGVHW1DPH6WULQJQDPH^
WKLVQDPH QDPH
`
SXEOLF6WULQJJHW1DPH^
UHWXUQQDPH
`
SXEOLFYRLGVHW7R\V7R\>@WR\V^
WKLVWR\V WR\V
`
SXEOLF7R\>@JHW7R\V^
UHWXUQWR\V
`
`
IRR'RJ
SDFNDJHIRR
SXEOLFFODVV3HUVRQ^
SULYDWH'RJGRJ
SULYDWH6WULQJQDPH
SXEOLFYRLGVHW'RJ'RJGRJ^
WKLVGRJ GRJ
`
SXEOLF'RJJHW'RJ^
UHWXUQGRJ
`
SXEOLFYRLGVHW1DPH6WULQJQDPH^
WKLVQDPH QDPH
`
SXEOLF6WULQJJHW1DPH^
UHWXUQQDPH
`
`
IRR3HUVRQ
SDFNDJHIRR
SXEOLFFODVV7R\^
SULYDWH6WULQJQDPH
SXEOLFYRLGVHW1DPH6WULQJQDPH^
WKLVQDPH QDPH
`
SXEOLF6WULQJJHW1DPH^
UHWXUQQDPH
`
`
IRR7R\
&RGH0DJQHWV
$QVZHUVWR6KDUSHQRQSUHYLRXVSDJH7DKLWL%7)U
RX)URX)URX)URX
ELJH[HUFLVHRQ(/
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
IRR3HUVRQS QHZIRR3HUVRQ
SVHW1DPH³/HHOX´
IRR'RJG QHZIRR'RJ
GVHW1DPH³&O\GH´
IRR7R\W QHZIRR7R\
WVHW1DPH³VWLFN´
IRR7R\W QHZIRR7R\
WVHW1DPH³QHLJKERU¶VFDW´
IRR7R\W QHZIRR7R\
WVHW1DPH³%DUELHGROOKHDG´
GVHW7R\VQHZIRR7R\>@^WWW`
SVHW'RJG
UHTXHVWVHW$WWULEXWH³SHUVRQ´S
6HUYOHWFRGH
KWWSORFDOKRVWWHVW-637HVWHUGR
/HHOX¶VGRJ&O\GH¶VWR\VDUHVWLFN
QHLJKERU¶VFDWDQGD%DUELHGROO
KHDG
&RPSRVHWKH(/IRUWKLVRXWSXW
¶V
^SHUVRQQDPH`
GRJ
^SHUVRQGRJWR\V
^SHUVRQGRJQDPH`
WR\VDUH
¶V
^SHUVRQGRJ
`
>@
QDPH
WR\V>@
QDPH
`
DQGD
^SHUVRQ
GRJ
WR\V
>@
QDPH
`
QDPH
WR\V
WR\V
WR\V
^SHUVRQGRJWR\VQDPH`
^SHUVRQGRJWR\VQDPH`
WR\V
^SHUVRQGRJWR\V>³QDPH´@
WR\V>³QDPH´@
WR\V>³QDPH´@
>@
>@
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
IRR3HUVRQS QHZIRR(PSOR\HH
SVHW1DPH³/HHOX´
IRR'RJG QHZIRR'RJ
GVHW1DPH³&O\GH´
IRR7R\W QHZIRR7R\
WVHW1DPH³VWLFN´
IRR7R\W QHZIRR7R\
WVHW1DPH³QHLJKERU¶VFDW´
IRR7R\W QHZIRR7R\
WVHW1DPH³%DUELHGROOKHDG´
GVHW7R\VQHZIRR7R\>@^WWW`
SVHW'RJG
UHTXHVWVHW$WWULEXWH³SHUVRQ´S
6HUYOHWFRGH
KWWSORFDOKRVWWHVW-637HVWHUGR
/HHOX¶VGRJ&O\GH¶VWR\VDUH
VWLFNQHLJKERU¶VFDWDQGD
%DUELHGROOKHDG
&RPSRVHWKH(/IRUWKLVRXWSXW
¶V
^SHUVRQQDPH`¶VGRJ^SHUVRQGRJQDPH`¶VWR\VDUH^SHUVRQGRJWR\V>@
QDPH`^SHUVRQGRJWR\V>@QDPH`DQGD^SHUVRQGRJWR\V>@QDPH`
^SHUVRQQDPH`
GRJ
^SHUVRQGRJWR\V
^SHUVRQGRJQDPH`
WR\VDUH¶V
^SHUVRQGRJ
`
>@
QDPH
WR\V>@
QDPH
`
DQGD
^SHUVRQ GRJ WR\V
>@
QDPH
`
&RGH0DJQHWV
$QVZHUV
>@
>@
WR\V>³QDPH´@
^SHUVRQGRJWR\V>³QDPH´@
WR\V
^SHUVRQGRJWR\VQDPH`
^SHUVRQGRJWR\VQDPH`
WR\V
WR\V
WR\V
QDPH
H[HUFLVHDQVZHUV
This is not the ONLY way to produce the output, but
itÕs the only way using this set of magnets. Bonus
exercise: write the EL expressions a little differently
(forget the magnets), but print the same result.
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
<PM-4QUXTQKQ\WJRMK\[
2EMEMBER%,HASSOMEIMPLICITOBJECTS"UTTHESE
ARENOTTHESAMEASTHE*30IMPLICITOBJECTSEXCEPT
FORONEPAGE#ONTEXT(ERESAQUICKLISTWELLLOOK
ATSOMEOFTHEMINMOREDETAILONTHENEXTFEWPAGES
9OULLNOTICETHATALLBUTONEPAGE#ONTEXTAGAINARE
SIMPLE-APSNAMEVALUEPAIRS
5HPHPEHUWKDWP\+70/IRUP
DFWLRQJRHVVWUDLJKWWRWKH
-63LVWKHUHDZD\,FDQXVHWKH
UHTXHVWSDUDPHWHUVMXVWXVLQJ(/"
SDJH6FRSH
UHTXHVW6FRSH
VHVVLRQ6FRSH
DSSOLFDWLRQ6FRSH
SDUDP
SDUDP9DOXHV
KHDGHU
KHDGHU9DOXHV
FRRNLH
LQLW3DUDP
SDJH&RQWH[W
A Map of the scope
attributes.
Maps of the request
parameters.
Maps of the
request headers.
Ooohhhh this is a tough one
could it be a Map of cookies?
A Map of the context init parameters
(NOT servlet init parameters!)
The only thing that is NOT a Map. This is
the real dealÑan actual reference to the
pageContext object, which you can think of as
a bean. Look in the API for the PageContext
getter methods.
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
:MY]M[\XIZIUM\MZ[QV-4
0IECEOFCAKE4HEPARAMIMPLICITOBJECTISlNEWHENYOUKNOWYOUHAVEONLY
ONEPARAMETERFORTHATPARTICULARPARAMETERNAME5SEPARAM6ALUESWHENYOU
MIGHTHAVEMORETHANONEPARAMETERVALUEFORAGIVENPARAMETERNAME
,QWKH+70/IRUP
IRUPDFWLRQ ´7HVW%HDQMVS´!
1DPHLQSXWW\SH ´WH[W´QDPH ´QDPH´!
,'LQSXWW\SH ´WH[W´QDPH ´HPS,'´!
)LUVWIRRGLQSXWW\SH ´WH[W´QDPH ´IRRG´!
6HFRQGIRRGLQSXWW\SH ´WH[W´QDPH ´IRRG´!
LQSXWW\SH ´VXEPLW´!
IRUP!
The ÒnameÓ and ÒempIDÓ will each have a
single value. But the ÒfoodÓ parameter could
have two values, if the user Þ lls in both
Þ elds before hitting the submit button
5HTXHVWSDUDPQDPHLV^SDUDPQDPH`EU!
5HTXHVWSDUDPHPS,'LV^SDUDPHPS,'`EU!
5HTXHVWSDUDPIRRGLV^SDUDPIRRG`EU!
)LUVWIRRGUHTXHVWSDUDP^SDUDP9DOXHVIRRG>@`EU!
6HFRQGIRRGUHTXHVWSDUDP^SDUDP9DOXHVIRRG>@`EU!
5HTXHVWSDUDPQDPH^SDUDP9DOXHVQDPH>@`
KWWSORFDOKRVWWHVW-637HVWHUGR
5HTXHVWSDUDPQDPHLV)OXII\
5HTXHVWSDUDPHPS,'LV
5HTXHVWSDUDPIRRGLV6XVKL
)LUVWIRRGUHTXHVWSDUDP6XVKL
6HFRQGIRRGUHTXHVWSDUDP0DFDURQL
&KHHVH
5HTXHVWSDUDPQDPH)OXII\
KWWSORFDOKRVWWHVW-637HVW%HDQMVS
1DPH ,'
)LUVWIRRG
6HFRQGIRRG
)OXII\
6XVKL
0DFDURQL&KHHVH
,QWKH-63
,QWKHFOLHQW·VEURZVHUFOLHQWÀOOVLQ
WKHIRUPDQGKLWVWKHVXEPLWEXWWRQ
7KHUHVSRQVH
Remember, param is just a Map of
parameter names and values. The things to
the right of the dot come from the names
speciÞ ed in the input Þ elds of the form.
Even though there might be multiple values
for the ÒfoodÓ parameter, you can still use
the single param implicit object, but youÕll
get only the Þ rst value.
SDUDPDQGSDUDP9DOXHV
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
?PI\QNaW]_IV\UWZMQVNWZUI\QWVNZWU\PMZMY]M[\'
7HATIFYOUWANTSAYTHESERVERHOSTINFORMATIONTHATCOMESWITHTHEhHOSTvHEADERIN
THEREQUEST)FYOULOOKINTHE(TTP3ERVLET2EQUEST!0)YOUCANSEEAGET(EADER3TRING
METHOD7EKNOWTHATIFWEPASShHOSTvTOTHEGET(EADERMETHODWELLGETBACK
SOMETHINGLIKEhLOCALHOSTvBECAUSETHATSWHERETHEWEBSERVERIS
:HNQRZZHFDQGRLWZLWK
VFULSWLQJ
+RVWLV UHTXHVWJHW+HDGHU³KRVW´!
%XWZLWK(/ZH¶YHJRWWKHKHDGHULPSOLFLWREMHFW
+RVWLV^KHDGHU>³KRVW´@`
+RVWLV^KHDGHUKRVW`
The header implicit object keeps a Map of all the headers.
Use either access operator to pass in the header name and
the value of that header will print. (Note: thereÕs also
a headerValues implicit object for headers with multiple
values. It works just like paramValues.)
*HWWLQJWKH´KRVWµKHDGHU
:HNQRZZHFDQGRLWZLWK
VFULSWLQJ
0HWKRGLV UHTXHVWJHW0HWKRG!
%XWZLWK(/
WKLV
ZLOO127ZRUN
0HWKRGLV^UHTXHVWPHWKRG`
*HWWLQJWKH+773UHTXHVWPHWKRG
5HOH4HISISALITTLETRICKIERTHERESAMETHODINTHE
(TTP3ERVLET2EQUEST!0)FORGET-ETHODTHATRETURNS'%40/34ETC
"UTHOWDO)GETITUSING%,
NO! NO! NO! There IS no
implicit request object!
$QG
WKLV
ZLOO127ZRUN
0HWKRGLV^UHTXHVW6FRSHPHWKRG`
NO! NO! NO! There IS an implicit
requestScope, but itÕs NOT the
request object itself.
&DQ\RXÀJXUHRXWKRZWRGRLW"
+LQWORRNDWWKHRWKHULPSOLFLWREMHFWV
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
<PMZMY]M[\;KWXMQ[67<\PMZMY]M[\WJRMK\
4HEIMPLICITREQUEST3COPEISJUSTA-APOFTHEREQUESTSCOPEATTRIBUTES
NOTTHEREQUESTOBJECTITSELF7HATYOUWANTTHE(440METHODISA
PROPERTYOFTHEREQUESTOBJECTNOTANATTRIBUTEATREQUESTSCOPE)NOTHER
WORDSYOUWANTSOMETHINGTHATCOMESFROMCALLINGAGETTERMETHODON
THEREQUESTOBJECTIFWETREATTHEREQUESTOBJECTLIKEABEAN
"UTTHEREISNOREQUESTIMPLICITOBJECTONLYREQUEST3COPE7HATTODO
9OUNEEDSOMETHINGELSE
8VHUHTXHVW6FRSHWRJHWUHTXHVW
$775,%87(6QRWUHTXHVW3523(57,(6
)RUUHTXHVWSURSHUWLHV\RXQHHGWRJR
WKURXJKSDJH&RQWH[W
0HWKRGLV^SDJH&RQWH[WUHTXHVWPHWKRG`
8VHSDJH&RQWH[WWRJHWWRHYHU\WKLQJHOVH
SDJH&RQWH[W
KDVD
UHTXHVW
SURSHUW\
UHTXHVW
KDVD
PHWKRG
SURSHUW\
,W¶VVRHDV\WRWKLQNWKDWVD\DSSOLFDWLRQ6FRSHLVDUHIHUHQFHWR6HUY
OHW&RQWH[WVLQFHWKDW¶VZKHUHDSSOLFDWLRQVFRSHGDWWULEXWHVDUHERXQG
%XWMXVWDVZLWKUHTXHVW6FRSHDQGWKHUHTXHVWREMHFWWKHVFRSH0DSIRU
DSSOLFDWLRQVFRSHGDWWULEXWHVLVMXVWWKDW²D0DSRIDWWULEXWHVDQGQRWK
LQJPRUH<RXFDQ¶WWUHDWLWOLNHD6HUYOHW&RQWH[WVRGRQ¶WH[SHFWWRJHW
6HUYOHW&RQWH[WSURSHUWLHVEDFNIURPWKHDSSOLFDWLRQ6FRSHLPSOLFLWREMHFW
'RQ·WFRQIXVHWKH0DS
VFRSH
REMHFWVZLWKWKH
REMHFWVWRZKLFKWKHDWWULEXWHVDUHERXQG
VFRSHPDSVDUH127WKHUHDOREMHFW
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
;KWXMQUXTQKQ\WJRMK\[KIV[I^MaW]
)FALLYOUNEEDISTOPRINTTHENAMEOFAPERSONANDYOUREALLY
DONTCAREWHATSCOPETHEPERSONISINORYOUDOCAREBUT
YOUKNOWTHERESONLYONEPERSONOUTOFALLFOURSCOPESYOU
JUSTUSE
/RIFYOUREWORRIEDABOUTAPOTENTIALNAMINGCONmICTYOU
CANBEEXPLICITABOUTWHICHPERSONYOUWANT
^UHTXHVW6FRSHSHUVRQQDPH`
"UTISTHEREANOTHERREASONYOUMIGHTHAVETOPREFACETHE
ATTRIBUTEWITHTHEIMPLICITSCOPEOBJECT/THERTHANTO
CONTROLSCOPING
4HINKABOUTTHISSCENARIOIFYOUHAVEANAMETHATSNOT
INQUOTESINBRACKETS;=THATMEANSIT-534ADHERETO
*AVANAMINGRULESRIGHT(EREWERE/+BECAUSEPERSON
ISAPERFECTLYLEGAL*AVAVARIABLENAME"UTTHATSBECAUSE
SOMEWHERESOMEONESAID
UHTXHVWVHW$WWULEXWH³SHUVRQ´S
"UTANATTRIBUTENAMEISA3TRING
3TRINGSDONTFOLLOW*AVAVARIABLENAMERULES
4HATMEANSSOMEONE
COULD
SAY
UHTXHVWVHW$WWULEXWH³IRRSHUVRQ´S
!NDTHENYOUDBEINTROUBLEBECAUSE4()3WONTWORK
^IRRSHUVRQQDPH`
"UTYOULLBESOTHANKFULFORSCOPEOBJECTSBECAUSEUSINGA
SCOPEOBJECTLETSYOUSWITCHTOTHE;=OPERATORTHATCANTAKE
3TRINGNAMESTHATDONTCONFORMTO*AVANAMINGRULES
,I(/ORRNVWKURXJKDOOWKH
VFRSHVDQ\ZD\ZK\ZRXOG
,HYHUXVHRQHRIWKHVFRSH
LPSOLFLWREMHFWV"7KHRQO\WKLQJ,
FDQWKLQNRILVDQDPLQJFRQÁLFW
EXW,ZRQGHULIWKHUHPLJKW
EHDQRWKHUUHDVRQ
^SHUVRQQDPH`
^
UHTXHVW6FRSH>³IRRSHUVRQ´@QDPH`
NO! This is certainly legal, but the Container
just thinks that ÒfooÓ is an attribute
somewhere, with a ÒpersonÓ property. But the
Container never Þnds a ÒfooÓ attribute.
Perfect! Using the
requestScope object gives
us a way to put the
attribute name in quotes.
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
/M\\QVO+WWSQM[IVLQVQ\XIZIU[
7EVELOOKEDATALLTHEIMPLICITOBJECTSEXCEPTCOOKIESANDINITPARAMSSO
HEREWEARE!NDYESANYOFTHEIMPLICITOBJECTSCANSHOWUPONTHEEXAM
This is kind of a pain, because the
request object does NOT have a
getCookie(cookieName) method! We
have to get the whole Cookie array and
iterate through it ourselves.
:HNQRZZHFDQGRLWZLWK
VFULSWLQJ
&RRNLH>@FRRNLHV UHTXHVWJHW&RRNLHV
IRULQWL LFRRNLHVOHQJWKL^
LIFRRNLHV>L@JHW1DPHHTXDOV³XVHU1DPH´^
RXWSULQWOQFRRNLHV>L@JHW9DOXH
`
`!
%XWZLWK(/ZH¶YHJRWWKH&RRNLHLPSOLFLWREMHFW
^
FRRNLHXVHU1DPHYDOX`
3ULQWLQJWKHYDOXHRIWKH´XVHU1DPHµ&RRNLH
WAY easier. Just give it the name, and the value
comes back from the Map of Cookie names/values.
Remember. this is how you conÞ gure
context (app-wide) parameters. These
are NOT the same as servlet init params.
:HKDYHWRFRQ¿JXUHWKHSDUDPHWHULQWKH''
FRQWH[WSDUDP!
SDUDPQDPH!PDLQ(PDLOSDUDPQDPH!
SDUDPYDOXH!OLNHZHFDUH#ZLFNHGO\VPDUWFRPSDUDPYDOXH!
FRQWH[WSDUDP!
3ULQWLQJWKHYDOXHRIDFRQWH[WLQLWSDUDPHWHU
:HNQRZZHFDQGRLWZLWK
VFULSWLQJ
HPDLOLV DSSOLFDWLRQJHW,QLW3DUDPHWHU³PDLQ(PDLO´!
$QGZLWK(/LW¶VHYHQHDVLHU
HPDLOLV^LQLW3DUDPPDLQ(PDLO`
WZRPRUHLPSOLFLWREMHFWV
+HUH¶VZKDW¶VFRQIXVLQJVHUYOHWLQLWSDUDPVDUH
FRQ¿JXUHGXVLQJLQLWSDUDP!ZKLOHFRQWH[WSDUDPV
XVHFRQWH[WSDUDP!EXWWKH(/LPSOLFLW³LQLW3DUDP´
LVIRUFRQWH[WSDUDPV+DGWKH\FRQVXOWHGXVZH
ZRXOGKDYHVXJJHVWHGWKDWWKHVSHFGHVLJQHUVPLJKW
FRQVLGHUQDPLQJWKLVYDULDEOHRK³FRQWH[W3DUDP´
EXWRQFHDJDLQWKH\IRUJRWWRDVNXV
7KH(/LQLW3DUDPLV127
IRUSDUDPVFRQÀJXUHG
XVLQJLQLWSDUDP!
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
;PMLWM[V¼\SVW_IJW]\-4N]VK\QWV[
7HENYOUNEEDALITTLEEXTRAHELPFROMSAYA*AVAMETHOD
BUTYOUDONTWANTSCRIPTINGYOUCANUSEAN%,FUNCTION)TS
ANEASYWAYTOWRITEASIMPLE%,EXPRESSIONTHATCALLSASTATIC
METHODINAPLAINOLD*AVACLASSTHATYOUWRITE7HATEVERTHE
METHODRETURNSISUSEDINTHEEXPRESSION)TDOESTAKEATINY
BITMOREWORKTOCONlGURETHINGSBUTFUNCTIONSGIVEYOUA
LOTMOREFUNCTIONALITY
(/LVZRQGHUIXOEXWVRPHWLPHV
,QHHG
IXQFWLRQDOLW\
QRWMXVW
DWWULEXWHRUSURSHUW\YDOXHV,I
RQO\WKHUHZHUHDZD\WRKDYHDQ(/
H[SUHVVLRQFDOOD-DYDPHWKRGWKDW
UHWXUQVDYDOXHWKHQ,ZRXOG
EHKDSS\
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
1UIOQVMaW]_IV\aW]Z2;8\WZWTTLQKM
9OUVEDECIDEDITWOULDBEAWESOMETOHAVEAWEBBASEDDICEROLLING
SERVICE4HATWAYINSTEADOFHUNTINGAROUNDBEHINDDESKSANDINTHE
SOFACUSHIONSFORREALDICEAUSERCOULDJUSTGOTOYOURWEBPAGECLICKON
THEVIRTUALDICEANDVOILA4HEYROLL/FCOURSEYOUHAVENOIDEATHATA
'OOGLESEARCHWILLPROBABLYBRINGUPOHABOUTSITESTHATDOTHIS
:ULWHD-DYDFODVVZLWKDSXEOLFVWDWLFPHWKRG
7KLVLVMXVWDSODLQROG-DYDFODVV7KHPHWKRG0867EHSXEOLFDQGVWDWLFDQGLWFDQ
KDYHDUJXPHQWV,WVKRXOGEXWLVQ·WUHTXLUHGWRKDYHDQRQYRLGUHWXUQW\SH$IWHUDOO
WKHZKROHSRLQWLVWRFDOOWKLVIURPD-63DQGJHWVRPHWKLQJEDFNWKDW\RXFDQXVHDV
SDUWRIWKHH[SUHVVLRQRUWRSULQWRXW
3XWWKHFODVVILOHLQWKH:(%,1)FODVVHVGLUHFWRU\VWUXFWXUHPDWFKLQJWKHDSSURSULDWH
SDFNDJHGLUHFWRU\VWUXFWXUHMXVWOLNH\RXZRXOGZLWKDQ\RWKHUFODVV
:ULWHD7DJ/LEUDU\'HVFULSWRU7/'ÀOH
)RUDQ(/IXQFWLRQWKH7/'SURYLGHVDPDSSLQJEHWZHHQWKH-DYDFODVVWKDWGHILQHVWKH
IXQFWLRQDQGWKH-63WKDWFDOOVWKHIXQFWLRQ7KDWZD\WKHIXQFWLRQQDPHDQGWKHDFWXDO
PHWKRGQDPHFDQEHGLIIHUHQW<RXPLJKWEHVWXFNZLWKDFODVVZLWKDUHDOO\VWXSLGPHWKRG
QDPHIRUH[DPSOHDQGPD\EH\RXZDQWWRSURYLGHDPRUHREYLRXVRULQWXLWLYHQDPHWR
SDJHGHVLJQHUVXVLQJ(/1RSUREOHP³WKH7/'VD\V´7KLVLVWKH-DYDFODVVWKLVLVWKH
PHWKRGVLJQDWXUHIRUWKHIXQFWLRQLQFOXGLQJUHWXUQW\SHDQGWKLVLVWKHQDPHZH·OOXVHLQ
(/H[SUHVVLRQVµ,QRWKHUZRUGVWKHQDPHXVHGLQ(/GRHVQ·WKDYHWREHWKHVDPHDVWKH
DFWXDOPHWKRGQDPHDQGWKH7/'LVZKHUH\RXPDSWKDW
3XWWKH7/'ILOHLQVLGHWKH:(%,1)GLUHFWRU\1DPHLWZLWKDWOGH[WHQVLRQ7KHUHDUH
RWKHUSODFHVWKH7/'FDQJRZH·OOWDONDERXWWKDWLQWKHQH[WWZRFKDSWHUV
3XWDWDJOLEGLUHFWLYHLQ\RXU-63
7KHWDJOLEGLUHFWLYHWHOOVWKH&RQWDLQHU´,·PJRLQJWRXVHWKLV7/'DQGLQWKH-63ZKHQ,ZDQW
WRXVHDIXQFWLRQIURPWKLV7/',·PJRLQJWRSUHIL[LWZLWKWKLVQDPHµ,QRWKHUZRUGVLWOHWV
\RXGHILQHWKHQDPHVSDFH<RXFDQXVHIXQFWLRQVIURPPRUHWKDQRQH7/'DQGHYHQLIWKH
IXQFWLRQVKDYHWKHVDPHQDPHWKDW·V2.7KHWDJOLEGLUHFWLYHLVNLQGRIOLNHJLYLQJDOO\RXU
IXQFWLRQVIXOO\TXDOLILHGQDPHV<RXLQYRNHWKHIXQFWLRQE\JLYLQJERWKWKHIXQFWLRQQDPH$1'
WKH7/'SUHIL[7KHSUHIL[FDQEHDQ\WKLQJ\RXOLNH
8VH(/WRLQYRNHWKHIXQFWLRQ
7KLVLVWKHHDV\SDUW<RXMXVWFDOOWKHIXQFWLRQIURPDQH[SUHVVLRQXVLQJ^SUHIL[QDPH`
IXQFWLRQVLQ(/
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
7KHIXQFWLRQFODVVWKH7/'DQGWKH-63
7KH7DJ/LEUDU\'HVFULSWRU7/'ÀOH
"[POYHUVLRQ ´´HQFRGLQJ ´,62´"!
WDJOLE[POQV ´KWWSMDYDVXQFRP[POQVMHH´
[POQV[VL ´KWWSZZZZRUJ;0/6FKHPDLQVWDQFH´
[VLVFKHPD/RFDWLRQ ´KWWSMDYDVXQFRP[POQVMHHZHE
MVSWDJOLEUDU\BB[VG´YHUVLRQ ´´!
WOLEYHUVLRQ!WOLEYHUVLRQ!
XUL!'LFH)XQFWLRQVXUL!
IXQFWLRQ!
QDPH!UROO,WQDPH!
IXQFWLRQFODVV!IRR'LFH5ROOHUIXQFWLRQFODVV!
IXQFWLRQVLJQDWXUH!
LQWUROO'LFH
IXQFWLRQVLJQDWXUH!
IXQFWLRQ!
WDJOLE!
7KHFODVVZLWKWKHIXQFWLRQ
SDFNDJHIRR
SXEOLFFODVV'LFH5ROOHU^
SXEOLFVWDWLFLQWUROO'LFH
^
UHWXUQLQW0DWKUDQGRP
`
`
7KH-63
#WDJOLESUH¿[ ´PLQH´XUL ´'LFH)XQFWLRQV´!
KWPO!ERG\!
^PLQHUROO,W`
ERG\!KWPO!
OO
P
HU
The function name rollIt() comes from
the <name> in the TLD, not from
anything in the actual Java class.
The preÞ x ÒmineÓ is just
the nickname weÕll use
inside THIS page, so that
we can tell one TLD
from another (in case you
DO have more than one).
Do NOT worry about all the
stuff inside the <taglib > tag.
WeÕll talk more about TLDs in
the next two chapters.
The function method MUST
be public AND static.
The uri in the taglib directive
tells the Container the name of
the TLD (which does NOT have
to be the name of the FILE!),
which the Container needs so
it knows which method to call
when the JSP invokes the EL
function.
IXQ
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
,MXTWaQVOIVIXX_Q\P[\I\QKN]VK\QWV[
4HEONLYTHINGTHATSNEWHEREISTHEhMY&UNCTIONSTLDvlLE)THASTOBE
SOMEWHEREWITHIN7%").&ORONEOFITSSUBDIRECTORIESUNLESSITSDEPLOYEDIN
A*!2lLEBUTWELLTALKABOUTTHATLATERINTHEBOOK(EREBECAUSETHISAPPIS
SOSIMPLEWEHAVEBOTHTHE$$WEBXMLANDTHE4,$MY&UNCTIONSTLDAT
THETOPLEVELOF7%").&BUTYOUCOULDORGANIZETHEMINTOSUBDIRECTORIES
4HEKEYPOINTISTHATTHECLASSWITHTHESTATICFUNCTION-534BEAVAILABLETOTHE
APPSOFORNOWYOUKNOWTHATPUTTINGITINSIDE7%").&CLASSESWILLWORK
!NDREMEMBERTHATINTHETAGLIBDIRECTIVEINTHE*30WESPECIlEDA52)THAT
MATCHESTHE52)DECLAREDINTHE4,$&ORNOWTHINKOFTHE52)ASSIMPLY
WHATEVERYOUDECIDEDTONAMETHE4,$)TSJUSTANAME)NTHENEXTCHAPTERON
USINGCUSTOMTAGSWELLGOINTOALLTHEDETAILSABOUT4,$SAND52)S
#WDJOLESUH¿[ ´PLQH´XUL ´'LFH)XQFWLRQV´!
ZHEDSSV
6DPSOH$SS
:(%,1)
FODVVHV
"[POYHU
VLRQ ´´
HQFRGLQJ
´87)´"!
'2&7<3(
ZHE[PO
IXQFWLRQ!
QDPH!
UROO,W
QDPH!
IXQFWLRQ
FODVV!
IRR'LFH5ROOHU
IXQFWLRQ
P\)XQFWLRQVWOG
IRR
'LFH5ROOHUFODVV
The TLD that
declares the function
class, method signature,
and function name.
The Java class with
the function (a public
static method).
#WDJOLE
SUH¿[ ´PLQH´
XUL ´:(%,1)
P\)XQFWLRQVWOG´!
KWPO!ERG\!
^PLQHUROO,W`
ERG\!
KWPO!
7HVW%HDQMVS
The JSP that invokes
the EL function
7KHFODVVZLWKWKHIXQFWLRQ
WKHSXEOLFVWDWLFPHWKRG
PXVWEHDYDLODEOHWRWKHZHE
DSSMXVWOLNHVHUYOHWEHDQ
DQGOLVWHQHUFODVVHV7KDW
PHDQVVRPHZKHUHLQ:(%
,1)FODVVHV
3XWWKH7/'ILOHVRPHZKHUH
XQGHU:(%,1)DQGPDNH
VXUHWKHWDJOLEGLUHFWLYH
LQWKH-63LQFOXGHVDXUL
DWWULEXWHWKDWPDWFKHVWKH
XUL!HOHPHQWLQWKH7/'
This is an identiÞ er that must match
the <uri> inside the TLD.
GHSOR\LQJZLWKDIXQFWLRQ
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
WKHUH DUH QR
'
XPE 4XHVWLRQV
4
!REGULARSCRIPTLETEXPRESSION-534
RETURNSOMETHING)FYOUSAYFOO
GET&OOGET&OOMUST./4HAVEAVOID
RETURNTYPE!TLEASTTHATSWHATYOUSAID
EARLIER3O)MTHINKINGITSTHESAMEWITH%,
FUNCTIONS
$
.O)TS./4THESAMEWITH%,FUNCTIONS
ALTHOUGHJUSTABOUTEVERYBODYFINDSTHAT
SURPRISING4HINKABOUTTHISIFYOURECALLINGAN
%,FUNCTIONTHATDOESNTRETURNANYTHINGTHEN
YOURECALLINGITJUSTFORITSSIDEEFFECTS'IVEN
THATPARTOFTHEGOALFOR%,ISTOREDUCETHE
AMOUNTOFLOGICINA*30A*30SUPPOSEDTOBE
THE6)%7INVOKINGAN%,FUNCTIONJUSTFORITS
SIDEEFFECTSDOESNTSOUNDLIKEAGOODIDEA
4
(OWDIDTHE#ONTAINERlNDTHE4,$
4HE52)DOESNTMATCHTHEPATHORl LENAME
OFTHE4,$7ASTHISAMIRACLE
$
*USTTHEQUESTIONWEWEREHOPING
SOMEONEWOULDASK9ESYOURERIGHTWENEVER
DIDTELLTHE#ONTAINEREXACTLYWHERETOFIND
THEREAL4,$FILE7HENTHEAPPISDEPLOYED
THE#ONTAINERSEARCHESTHROUGH7%").&AND
ITSSUBDIRECTORIESORIN*!2FILESWITHIN7%"
).&LIBLOOKINGFORTLDFILES7HENITFINDSONE
ITREADSTHE52)ANDCREATESAMAPTHATSAYS
h4HE4,$WITHTHIS52)ISACTUALLYTHISFILEATTHIS
LOCATIONv4HERESALITTLEMORETOTHESTORYTHAT
WELLCOVERINTHENEXTCHAPTER
4
#ANAN%,FUNCTIONHAVEARGUMENTS
$
$EFINITELY*USTREMEMBERINTHE4,$TO
SPECIFYTHEFULLYQUALIFIEDCLASSNAMEUNLESSITS
APRIMITIVEFOREACHARGUMENT!FUNCTIONTHAT
TAKESA-APWOULDBE
IXQFWLRQVLJQDWXUH!
LQWUROO'LFHMDYDXWLO0DS
IXQFWLRQVLJQDWXUH!
:DWFKLW
0HPRUL]HWKHUHODWLRQVKLSVEHWZHHQWKHFODVVWKH
7/'DQGWKH-630RVWLPSRUWDQWO\UHPHPEHUWKDWWKH
0(7+2'QDPHGRHV127KDYHWRPDWFKWKH)81&7,21
QDPH:KDW\RXXVHLQ(/WRLQYRNHWKHIXQFWLRQPXVW
PDWFKWKHQDPH!HOHPHQWLQWKHIXQFWLRQ!GHFODUDWLRQ
LQWKH7/'7KHHOHPHQWIRUIXQFWLRQVLJQDWXUH!LVWKHUH
WRWHOOWKH&RQWDLQHUZKLFKPHWKRGWRFDOOZKHQWKH-63
XVHVWKHQDPH!
$QGWKHRQO\SODFHWKHFODVVQDPHDSSHDUVEHVLGHVWKH
FODVVGHFODUDWLRQLWVHOILVLQWKHIXQFWLRQFODVV!HOHPHQW
2KDQGZKLOHZH¶UHKHUHGLG\RXQRWLFHWKDWHYHU\WKLQJ
LQWKHIXQFWLRQ!WDJKDVWKHZRUGIXQFWLRQ!LQLW
(;&(37IRUWKHQDPH!WDJ"6RGRQ¶WEHIRROHGE\WKLV
IXQFWLRQ!
IXQFWLRQQDPH!UROO,WIXQFWLRQQDPH!
IXQFWLRQFODVV!
IRR'LFH5ROOHUIXQFWLRQFODVV!
IXQFWLRQVLJQDWXUH!
LQWUROO'LFH
IXQFWLRQVLJQDWXUH!
IXQFWLRQ!
7KHFRUUHFWWDJIRUWKHIXQFWLRQQDPHLVQDPH!
IXQFWLRQ!
QDPH!UROO,WQDPH!
IXQFWLRQFODVV!
IRR'LFH5ROOHUIXQFWLRQFODVV!
IXQFWLRQVLJQDWXUH!
LQWUROO'LFH
IXQFWLRQVLJQDWXUH!
IXQFWLRQ!
7KH0(7+2'QDPHLVQRWWKH
VDPHDVWKH)81&7,21QDPH
NO!!
Good!
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
)VLINM_W\PMZ-4WXMZI\WZ[
9OUPROBABLYWONTANDSHOULDNTDOCALCULATIONSANDLOGICFROM%,2EMEMBER
A*30ISTHE6IEWANDTHE6IEWSJOBISTORENDERTHERESPONSENOTTOMAKE"IG
)MPORTANT$ECISIONSORDO"IG0ROCESSING)FYOUNEEDREALFUNCTIONALITYTHATS
NORMALLYTHEJOBOFTHE#ONTROLLERAND-ODEL&ORLESSERFUNCTIONALITYYOUVEGOT
CUSTOMTAGSINCLUDINGTHE*34,TAGSAND%,FUNCTIONS
"UTFORLITTLETHINGSSOMETIMESALITTLEARITHMETICORASIMPLEBOOLEANTESTMIGHT
COMEINHANDY3OWITHTHATPERSPECTIVEHERESALOOKATTHEMOSTUSEFUL%,
ARTITHMETICRELATIONALANDLOGICALOPERATORS
$ULWKPHWLF
$GGLWLRQ
6XEWUDFWLRQ
0XOWLSOLFDWLRQ
'LYLVLRQ DQGGLY
5HPDLQGHU DQGPRG
/RJLFDO
$1' DQGDQG
25 __DQGRU
127 DQGQRW
5HODWLRQDO
(TXDOV DQGHT
1RWHTXDOV DQGQH
/HVVWKDQ DQGOW
*UHDWHUWKDQ !DQGJW
/HVVWKDQRUHTXDOWR DQGOH
*UHDWHUWKDQRUHTXDOWR
! DQGJH
:DWFKLW
<RXFDQDOUHDG\VHHRIWKHPRQWKLVSDJH²WKH
DOWHUQDWH³ZRUGV´IRUWKHUHODWLRQDOORJLFDODQGVRPH
DULWKPHWLFRSHUDWRUV%XWWKHUHDUHDIHZPRUH
WUXH
DERROHDQOLWHUDO
IDOVH
WKH27+(5ERROHDQOLWHUDO
QXOO
,WPHDQVQXOO
LQVWDQFHRI
WKLVLVUHVHUYHGIRU³WKHIXWXUH´
HPSW\ DQRSHUDWRUWRVHHLIVRPHWKLQJLVQXOORU
HPSW\HJ^HPSW\$`UHWXUQVWUXHLI$LV
QXOORUHPSW\\RX¶OOVHHWKLVLQDFWLRQDOLWWOH
ODWHULQWKHFKDSWHU
'RQ·WXVH(/UHVHUYHGZRUGV
DVLGHQWLÀHUV
By the way you CAN divide by zero in
ELÑyou get INFINITY, not an error.
But you CANNOT use the Remainder operator
against a zero youÕll get an exception.
(/RSHUDWRUV
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
^QXP!`
^LQWHJHUOH`
^UHTXHVW6FRSH>LQWHJHU@QHDQGOHQXP__IDOVH`
^OLVW>@__OLVW>³´@DQGWUXH`
^QXP!LQWHJHU`
^QXP LQWHJHU`
MVSXVH%HDQFODVV ´IRR'RJ´LG ´P\'RJ´!
MVSVHW3URSHUW\QDPH ´P\'RJ´SURSHUW\ ´QDPH´YDOXH ´^OLVW>@`´!
MVSXVH%HDQ!
^P\'RJQDPHDQGWUXH`
^GLY`
^PLQHUROO,WOH`
6WULQJQXP ³´
UHTXHVWVHW$WWULEXWH³QXP´QXP
,QWHJHUL QHZ,QWHJHU
UHTXHVWVHW$WWULEXWH³LQWHJHU´L
MDYDXWLO$UUD\/LVWOLVW QHZMDYDXWLO$UUD\/LVW
OLVWDGG³WUXH´
OLVWDGG³IDOVH´
OLVWDGG³´
OLVWDGG³´
UHTXHVWVHW$WWULEXWH³OLVW´OLVW
6KDUSHQ \RXU SHQFLO
*LYHQWKLVVHUYOHWFRGH
:KDWSULQWVIRUHDFKRIWKHVH"
/RRNDWWKHVHUYOHWFRGHWKHQ¿JXUHRXWZKDWSULQWVQH[WWRHDFK(/H[SUHVVLRQ
<RX¶OOKDYHWRJXHVVLQDIHZSODFHVVLQFHZHKDYHQ¶WFRYHUHGHYHU\SRVVLEOHUXOH
7KLVH[HUFLVHZLOOKHOS\RX¿JXUHRXWKRZ(/EHKDYHV+LQW(/LVÀH[LEOHDQGIRUJLY
LQJ$QRWKHUKLQWWKHDFWXDOQLQHDQVZHUVDUHSULQWHGDWWKHERWWRPRIWKLVSDJHXS
VLGHGRZQEXWWKH\DUH127LQDQ\RUGHU%XWLI\RXUHDOO\QHHGKHOSDWOHDVW\RX¶OO
KDYHWKHQLQHDQVZHUVDQG\RXFDQXVHHOLPLQDWLRQWR¿JXUHRXWZKHUHWKH\DOOJR
Assume that the Dog bean
class and rollIt() function
are both available.
IDOVHIDOVHIDOVHIDOVHIDOVH
WUXHWUXHWUXH,QILQLW\
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
^QXP!`
^LQWHJHUOH`
^UHTXHVW6FRSH>LQWHJHU@QHDQGOHQXP__IDOVH`
^OLVW>@__OLVW>³´@DQGWUXH`
^QXP!LQWHJHU`
^QXP LQWHJHU`
MVSXVH%HDQFODVV ´IRR'RJ´LG ´P\'RJ´!
MVSVHW3URSHUW\QDPH ´P\'RJ´SURSHUW\ ´QDPH´YDOXH ´^OLVW>@`´!
MVSXVH%HDQ!
^P\'RJQDPHDQGWUXH`
^GLY`
^PLQHUROO,WOH`
6WULQJQXP ³´
UHTXHVWVHW$WWULEXWH³QXP´QXP
,QWHJHUL QHZ,QWHJHU
UHTXHVWVHW$WWULEXWH³LQWHJHU´L
MDYDXWLO$UUD\/LVWOLVW QHZMDYDXWLO$UUD\/LVW
OLVWDGG³WUXH´
OLVWDGG³IDOVH´
OLVWDGG³´
OLVWDGG³´
UHTXHVWVHW$WWULEXWH³OLVW´OLVW
6KDUSHQ \RXU SHQFLO
*LYHQWKLVVHUYOHWFRGH
:KDWSULQWVIRUHDFKRIWKHVH"
false
true
false
true
false
true
false
InÞnity
false
The ÒnumÓ attribute was found, and
its value Ò2Ó coerced to an int.
Even better! The Integer value was converted
to its primitive value, and then compared.
Watch out for using = instead of
==. There is NO = in EL.
Yes, you can use EL
inside a tag!
If you remember the rollIt()
code, it always returns a
number greater than zero.
See if you can Þgure
out the precedence
rules for when you
donÕt use parens. ItÕs
very intuitive (left to
right), and you should
have NO problems with
precedence on the exam.
(/RSHUDWRUDQVZHUV
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
-4PIVLTM[V]TT^IT]M[OZIKMN]TTa
!KEYDESIGNDECISIONTHEDEVELOPERSOF%,CAMEUPWITH
ISTOHANDLENULLVALUESWITHOUTTHROWINGEXCEPTIONS
7HY"ECAUSETHEYlGUREDhITSBETTERTOSHOWAPARTIAL
INCOMPLETEPAGETHANTOSHOWTHEUSERANERRORPAGEv
^IRR`
^IRR>EDU@`
^EDU>IRR@`
^IRREDU`
^IRR`
^IRR`
^IRR`
^IRR`
^IRR`
^ IRR`
^IRR IRR`
^ IRR`
^WUXHDQGIRR`
^WUXHRUIRR`
^QRWIRR`
!SSUMETHATTHEREISNOTANATTRIBUTENAMEDhFOOvBUT
THERE)3ANATTRIBUTENAMEDhBARvBUTTHAThBARvDOES
NOTHAVEAPROPERTYORKEYNAMEDhFOOv
(/ :KDWSULQWV
,Q¿QLW\
([FHSWLRQLVWKURZQ
IDOVH
IDOVH
WUXH
WUXH
IDOVH
WUXH
WUXH
Nothing prints out for these
expressions. If you say ÒThe
value is: ${foo}.Ó YouÕll just see
ÒThe value is.Ó
In arithmetic
expressions, EL
treats the unknown
variable as ÒzeroÓ.
In logical expressions,
EL treats the unknown
variable as ÒfalseÓ.
(/LVQXOOIULHQGO\,W
KDQGOHVXQNQRZQRUQXOO
YDOXHVVRWKDWWKHSDJHVWLOO
GLVSOD\VHYHQLILWFDQ·W
ILQGDQDWWULEXWHSURSHUW\
NH\ZLWKWKHQDPHLQWKH
H[SUHVVLRQ
,QDULWKPHWLF(/WUHDWVWKH
QXOOYDOXHDV´]HURµ
,QORJLFDOH[SUHVVLRQV(/
WUHDWVWKHQXOOYDOXHDV
´IDOVHµ
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
:MDD=LHGAFLK
(/H[SUHVVLRQVDUHDOZD\VZLWKLQFXUO\EUDFHV
DQGSUHIL[HGZLWKDGROODUVLJQ^H[SUHVVLRQ`
7KHILUVWQDPHGYDULDEOHLQWKHH[SUHVVLRQLV
HLWKHUDQLPSOLFLWREMHFWRUDQDWWULEXWHLQRQHRI
WKHIRXUVFRSHVSDJHUHTXHVWVHVVLRQRUDS
SOLFDWLRQ
7KHGRWRSHUDWRUOHWV\RXDFFHVVYDOXHVE\XVLQJ
D0DSNH\RUDEHDQSURSHUW\QDPHIRUH[DPSOH
^IRREDU`JLYHV\RXWKHYDOXHRIEDUZKHUHEDU
LVWKHQDPHRI0DSNH\LQWRWKH0DSIRRRUEDU
LVWKHSURSHUW\RIEHDQIRR:KDWHYHUFRPHVWR
WKHULJKWRIWKHGRWRSHUDWRUPXVWIROORZQRUPDO
-DYDQDPLQJUXOHVIRULGHQWLILHUV,QRWKHUZRUGV
PXVWVWDUWZLWKDOHWWHUXQGHUVFRUHRUGROODU
VLJQFDQLQFOXGHQXPEHUVDIWHUWKHILUVWFKDUDF
WHUEXWQRWKLQJHOVHHWF
<RXFDQ1(9(5SXWDQ\WKLQJWRWKHULJKWRIWKH
GRWWKDWZRXOGQ·WEHOHJDODVD-DYDLGHQWLILHU)RU
H[DPSOH\RXFDQ·WVD\^IRR`
7KH>@RSHUDWRULVPRUHSRZHUIXOWKDQWKHGRW
EHFDXVHLWOHWV\RXDFFHVVDUUD\VDQG/LVWVDQG
\RXFDQSXWRWKHUH[SUHVVLRQVLQFOXGLQJQDPHG
YDULDEOHVZLWKLQWKHEUDFNHWVDQG\RXFDQQHVW
WKHPWRDQ\OHYHO\RXFDQVWDQG
)RUH[DPSOHLIPXVLF/LVWLVDQ$UUD\/LVW\RX
FDQDFFHVVWKHILUVWYDOXHLQWKHOLVWE\VD\LQJ
^PXVLF/LVW>@`25^PXVLF/LVW>´µ@`(/GRHVQ·W
FDUHLI\RXSXWTXRWHVDURXQGWKHOLVWLQGH[
,IZKDW·VLQVLGHWKHEUDFNHWVLVQRWLQTXRWHVWKH
&RQWDLQHUHYDOXDWHVLW,ILWLVLQTXRWHVDQGLW·V
QRWDQLQGH[LQWRDQDUUD\RU/LVWWKH&RQWDLQHU
VHHVLWDVWKHOLWHUDOQDPHRIDSURSHUW\RUNH\
$OOEXWRQHRIWKH(/LPSOLFLWREMHFWVDUH0DSV
)URPWKH0DSLPSOLFLWREMHFWV\RXFDQJHW
DWWULEXWHVIURPDQ\RIWKHIRXUVFRSHVUHTXHVW
SDUDPHWHUYDOXHVKHDGHUYDOXHVFRRNLHYDOXHV
DQGFRQWH[WLQLWSDUDPHWHUV7KHQRQPDSLP
SOLFLWREMHFWLVSDJH&RQWH[WZKLFKLVDUHIHUHQFH
WRWKH3DJH&RQWH[WREMHFW
'RQ·WFRQIXVHWKHLPSOLFLW(/VFRSHREMHFWV
0DSVRIWKHDWWULEXWHVZLWKWKHREMHFWVWRZKLFK
WKHDWWULEXWHVDUHERXQG,QRWKHUZRUGVGRQ·W
FRQIXVHWKHUHTXHVW6FRSHLPSOLFLWREMHFWZLWK
WKHDFWXDO-63LPSOLFLWUHTXHVWREMHFW7KH
RQO\ZD\WRDFFHVVWKHUHTXHVWREMHFWLVE\
JRLQJWKURXJKWKHSDJH&RQWH[WLPSOLFLWREMHFW
$OWKRXJKVRPHRIZKDW\RXPLJKWZDQWIURPWKH
UHTXHVWLVDOUHDG\DYDLODEOHWKURXJKRWKHU(/
LPSOLFLWREMHFWVLQFOXGLQJSDUDPSDUDP9DOXHV
KHDGHUKHDGHU9DOXHVDQGFRRNLH
(/IXQFWLRQVDOORZ\RXWRFDOODSXEOLFVWDWLF
PHWKRGLQDSODLQROG-DYDFODVV7KHIXQFWLRQ
QDPHGRHVQRWKDYHWRPDWFKWKHDFWXDOPHWKRG
QDPH)RUH[DPSOH^IRRUROO,W`GRHVQRWPHDQ
WKDWWKHUHPXVWEHDPHWKRGQDPHGUROO,WLQD
FODVVWKDWKDVDIXQFWLRQ
7KHIXQFWLRQQDPHHJUROO,WLVPDSSHGWR
DUHDOVWDWLFPHWKRGXVLQJD7/'7DJ/LEUDU\
'HVFULSWRUILOH'HFODUHDIXQFWLRQXVLQJWKH
IXQFWLRQ!HOHPHQWLQFOXGLQJWKHQDPH!RI
WKHIXQFWLRQUROO,WWKHIXOO\TXDOLILHGIXQF
WLRQFODVV!DQGWKHIXQFWLRQVLJQDWXUH!ZKLFK
LQFOXGHVWKHUHWXUQW\SHDVZHOODVWKHPHWKRG
QDPHDQGDUJXPHQWOLVW
7RXVHDIXQFWLRQLQD-63\RXPXVWGHFODUHWKH
QDPHVSDFHXVLQJDWDJOLEGLUHFWLYH3XWDSUHIL[
DWWULEXWHLQWKHWDJOLEGLUHFWLYHWRWHOOWKH&RQ
WDLQHUWKH7/'LQZKLFKWKHIXQFWLRQ\RX·UHFDOOLQJ
FDQEHIRXQG([DPSOH
#WDJOLESUH¿[ ´PLQH´
XUL ´:(%,1)IRRWOG´!
2;8-`XZM[[QWV4IVO]IOM-4ZM^QM_
(/UHYLHZ
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
+H\KDYH\RXJX\V
QRWLFHGWKDWWKH\KDYHQ·W
HYHQ
PHQWLRQHG
OLNHWKH
21(WKLQJWKDW·VPRVW
LPSRUWDQWWRDZHEVLWH
GHVLJQHU"
<HDK,KDYHQ·WKHDUG
21(WKLQJDERXWXVLQJ
OD\RXWWHPSODWHV7KH
ODVW
WKLQJ,ZDQWWRGRLVSXWWKH
VDPHQDYLJDWLRQEDUFRGHLQWR
DOORIP\-63VZKDW
LILW
FKDQJHV
"
+PPPP,DOZD\V
WKRXJKWWKHLPSRUWDQW
WKLQJZDVWRPDNHVXUH
\RXGRQ·WHQGXSRQ
ZHESDJHVWKDWVXFNFRP
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
:M][IJTM\MUXTI\MXQMKM[
9OUHAVEHEADERSONEVERYPAGEONYOURWEB
SITE4HEYREALWAYSTHESAME9OUHAVETHE
SAMEFOOTERONEVERYPAGEASWELL(OWSTUPID
WOULDITBETOCODEINTHESAMEHEADERAND
FOOTERTAGSINTOEVERY*30INYOURWEBAPP
)FYOURETHINKINGLIKEA*AVAPROGRAMMER
WHICHOFCOURSEYOUAREYOUKNOWTHAT
DOINGTHATISABOUTASUN//ASITGETS
4HETHOUGHTOFALLTHATDUPLICATECODE
PROBABLYMAKESYOUFEELALITTLESICK7HAT
HAPPENSWHENTHESITEDESIGNERMAKESOHA
TINYLITTLECHANGETOTHEHEADERORFOOTER
9OUHAVETOPROPAGATETHECHANGEEVERYWHERE
2ELAX4HERESAMECHANISMFORHANDLINGTHIS
INA*30ITSCALLEDINCLUDE9OUWRITEYOUR*30
INTHEUSUALWAYEXCEPTTHATINSTEADOFPUTTING
THEREUSABLESTUFFEXPLICITLYINTOTHE*30YOURE
AUTHORINGYOUINSTEADTELLTHE#ONTAINERTO
INCLUDETHEOTHERlLEINTOTHEEXISTINGPAGEAT
THELOCATIONYOUSELECT)TSKINDOFLIKESAYING
HTMLBODY
INSERTTHEHEADERlLEHERE
7ELCOMETOOURSITE
BLAHBLAHBLAHMORESTUFFHERE
INSERTTHEFOOTERlLEHERE
BODYHTML
)NTHISSECTIONWELLLOOKATTWODIFFERENT
INCLUDEMECHANISMSTHEINCLUDEDIRECTIVEAND
THEJSPINCLUDESTANDARDACTION
2I&2856(ZH·OOWDON
DERXWOD\RXWWHPSODWHV,I
$1<21(NQRZVDERXWUHXVDEOH
FRPSRQHQWVLW·VD-DYD
SURJUDPPHU
OD\RXWWHPSODWHV
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
VFULSWOHVV-63V
\RXDUHKHUH
<PMQVKT]LMLQZMK\Q^M
$-63IURPWKHZHEDSS´&RQWDFWMVSµ
KWPO!ERG\!
#LQFOXGH¿OH ´+HDGHUMVS´!
EU!
HP!:HFDQKHOSHP!EU!EU!
&RQWDFWXVDW^LQLW3DUDPPDLQ(PDLO`
ERG\!KWPO!
:HNQRZKRZWRPDNH62$3VXFNOHVV
KWWSORFDOKRVWWHVWV&RQWDFWMVS
:HFDQKHOS
&RQWDFWXVDWOLNHZHFDUH#ZLFNHGO\VPDUWFRP
This says ÒInsert the complete
Header.jsp Þle into this point in
THIS page, then keep going with
the rest of this JSP Ó
KWPO!ERG\!
LPJVUF ´LPDJHV:HE6HUYLFHVMSJ´!EU!
HP!VWURQJ!:HNQRZKRZWRPDNH62$3VXFNOHVVVWURQJ!HP!EU!
ERG\!KWPO!
:HNQRZKRZWRPDNH62$3VXFNOHVV
KWWSORFDOKRVWWHVWV+HDGHUMVS
6WDQGDUGKHDGHUÀOH´+HDGHUMVSµ
This is the same as it was on the
previous page itÕs what we want
to appear in every JSP.
WKHLQFOXGHGLUHFWLYH
4HEINCLUDEDIRECTIVETELLSTHE#ONTAINERONETHINGCOPYEVERYTHINGINTHE
INCLUDEDlLEANDPASTEITINTOTHISlLERIGHTHERE
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.
FKDSWHU
<PM$R[X"QVKT]LM&[\IVLIZLIK\QWV
KWPO!ERG\!
LPJVUF ´LPDJHV:HE6HUYLFHVMSJ´!EU!
HP!VWURQJ!:HNQRZKRZWRPDNH62$3VXFNOHVVVWURQJ!HP!EU!
ERG\!KWPO!
:HNQRZKRZWRPDNH62$3VXFNOHVV
KWWSORFDOKRVWWHVWV+HDGHUMVS
6WDQGDUGKHDGHUÀOH´+HDGHUMVSµ
$-63IURPWKHZHEDSS´&RQWDFWMVSµ
This says ÒInsert the response of
Header.jsp Þle into this point in
THIS page, then keep going with
the rest of this JSP Ó
KWPO!ERG\!
MVSLQFOXGHSDJH ´+HDGHUMVS´!
EU!
HP!:HFDQKHOSHP!EU!EU!
&RQWDFWXVDW^LQLW3DUDPPDLQ(PDLO`
ERG\!KWPO!
:HNQRZKRZWRPDNH62$3VXFNOHVV
KWWSORFDOKRVWWHVWV&RQWDFWMVS
:HFDQKHOS
&RQWDFWXVDWOLNHZHFDUH#ZLFNHGO\VPDUWFRP
This is what we want
on EVERY page.
4HEJSPINCLUDESTANDARDACTIONAPPEARSTODOTHESAME
THINGASTHEINCLUDESTANDARDACTION
MVSLQFOXGH!VWDQGDUGDFWLRQ
Chapter 8. Script-free pages
Chapter 8. Script-free pages
Head First Servlets and JSP By Bert Bates, Kathy Sierra, Bryan Basham ISBN: 0596005407 Publisher: O'Reilly Prepared for Stephen Goss, Safari ID:
Print Publication Date: 8/1/2004 User number: 747221 Copyright 2007, Safari Books Online, LLC.
This PDF is exclusively for your use in accordance with the Safari Terms of Service. No part of it may be reproduced or transmitted in any form by any means without the prior
written permission for reprints and excerpts from the publisher. Redistribution or other use that violates the fair use priviledge under U.S. copyright laws (see 17 USC107) or that
otherwise violates the Safari Terms of Service is strictly prohibited.