PassBiBle.Net
°ê»ÚIT»{µý¥N¦ÒÊI
²Ê^ Site-Map
¥N¦Ò­º­¶ ¥N¦Òɲ®æ ¥N¦Ò¬yµ{ «HÅAµûɲ µý®Ñ¬d¸ß ÃD®w¤U¸ü ¥N¦Ò½×¾Â Ãö¤_§Ú­Ì ¥[¤J¦¬ÂÃ
CCNA ±MÃD MCSE ±MÃD ORACLE ±MÃD CISCO»{µý MICROSOFT LPI»{µý CIW»{µý SUN»{µý IBM»{µý
¥N ¦Ò Áp ¨t
Mail:
PassBiBle PassBiBle.Com
Msn :
PassBiBle HotMail.Com
QQ : 6411019
³Ì ·s ¤å ³¹
¡EJava¾Ç²ß¸ô®|¡Ð¤u¨ã½g
¡EJava¾Ç²ß¸ô®|¡Ð¹Lµ{½g+®ÑÄy½g
¡EJava¾Ç²ß¸ô®|¡Ð¤èªk½g+¸ê·½½g
¡E¾Ç²ßJavaªº30­Ó°ò¥»·§©À
¡E¨C©P·s®Ñ±À¯ò:IBM & Java
¡EJSP³Ì·s¯S©Ê¤Î«ä·Qªº³Ì¨Î¹ê½î
¡E¶}µoJ2EEÀ³¥ÎÀ³¿í´`ªº¤LÂI­ì
¡EJava¤¤ªº´ú¤£­ã­ì²z
¡E¼öªù°ÝÃD:java.exe¥X¿ù¿ù»~¤À
¡EJava»y¨¥¯SÂI¤Î¶}µo¤u¨ãJDK
¼ö ªù ¤å ³¹
¡EJava¦Ò¸Õ¸gÅç½Í
¡Ejava¤Jªù¾Ç²ß«ü¾É¤§³Ì¨Î¤è¦V
¡ESun»{µýJavaµ{§Ç­û
¡EJavaªº«e¥@¤µ¥Í
¡E³q¦Vµ{§Ç­ûªº¿ï¾Ü¡ÐSCJP»{µý
¡ESun»{µýJava¶}µo­û¡ÐSCJD»{µý
¡EJAVA»{µý¦Ò¸Õɲ®æ¤Î»{µýµý®Ñ
¡E¯Bļ¡Ð§A¤£À³¬OJavaµ{§Ç­ûªº
¡E³n¥ó¶}µo¦¨¥\12ªk«h
¡E¸Ó¾ÇJava©Î.NET¡H

JSP³Ì·s¯S©Ê¤Î«ä·Qªº³Ì¨Î¹ê½î

¡@ ·§­n¡G

    JSP³W­Sªº¤£Â_¶i®i¡A¥i¥Îªºjsp¶}µo¤u¨ã¼Æ¶q¤£Â_¼W¦h¡A¥H¤Îjsp§Þ³N¥i¯A¤Î»â°ìªº¤£Â_ªºÂX®i¡A«P¶i¤F°ò¤_jsp§Þ³Nªº°ªºûÅ@©Ê¯à©M¼Ð­ã¤ÆªºÊIµ¸À³¥Îªº¶}µo¡C³o½g¤å³¹°Q½×¤F¦bjsp¶i®i¤¤ªº¤@¨Ç¥D­n¤º®e¥H¤Î¦p¦ó§ó®e©öªº¶}µo°·§§ªºJSPÊIµ¸À³¥Î¡C³o½g¤å³¹¥i¥HÀ°§UŪªÌ´£°ªÀ³¥ÎJSP±j¤j¥\¯àªº¯à¤O¡A¦}¯à°÷Åý§A¬°±N¨ÓJSPªº¤É¯Å°µ¦n­ã³Æ¡C

£€¡@¦Û±q§Ú¡]­ì¤å§@ªÌ¡^¦b2001¦~©³µoªí¤F¡§JSP³Ì¨Î¹ê½î¡¨¥H¨Ó¡AJSP§Þ³N¤w¸g¦³¤FÀ¸¼@©Êªºµo®i¡C³\¦hªº¤u¨ã¤w¸g¨Ï±o¶}µo°ò¤_JSP§Þ³NªºÊI­¶Åܪº§ó¥[®e©ö¡C¦b¤W¤@½g§Úªº¡§³Ì¨Î¹ê½î¡¨ªº¤å³¹¤¤©Ò´£¨ìªº¹ê½î¨ÌµMÓì¥Î¡CµM¦Ó¡AÀHµÛ·sªº¯S©Ê¡A¤u¨ã¡A¥H¤ÎJSP¶}µo«ä·Qªº¥X²{§A»Ý­n¨Ï¥Î§ó¦hªº³Ì¨Î¹ê½î¨Ó¶}µo§ó¥[¥­·Æªº°ªºûÅ@©Ê¯àªºJSPªºÀ³¥Î¡C³o½g¤å³¹¦C¥X¤F¤@¨ÇÀ³¥Î¤F³Ì­«­nªº·sªº¯S©Ê¡A¤u¨ã©M«ä·Qªº³Ì¨Î¹ê½î¡G

¡@¡@ ¶}©l½s¼gJSP document¡D

¡@¡@ ¤Þ¤JJSP½sµ{¬ù©w

¡@¡@ ¨Ï¥Î¥¿Ú̪º­S³ò¡]Scope¡^

¡@¡@ ¤p¤ßªººÞ²z¡§·|¸Ü¡¨­S³ò

¡@¡@ §Q¥ÎJSTL(JavaServer Pages Standard Tag Library)ªº¯SÂI
¡@¡@ §Q¥Îservlet filers¡]Intercepting Filter pattern¡^ªº¯SÂI

¡@¡@ ³Ð«Ø§AªºJsp pagesªº¤åÀÉ

¡@¡@ ¹w¥ý½sĶJSPÊI­¶©M¤åÀÉ

¡@¡@ ²Õ´¤å¥ó©M¥Ø¿ý¥H«K¤_®e©öªº¶}µo©M³¡¸p

¡@¡@ ¤p¤ß¨Ï¥Î¨p¦³ªº¡AÉO¨ÑÀ³°Ó¯S©wªº¯S©Ê

¡@¡@ HTML¼Ðñ¨Ï¥ÎXHTML¡]Extensible HyperText Markup Language¡^»yªk

¡@¡@ ¨Ï¥ÎJSP document¡D¤£¬OJSP pages

¡@¡@ JSP³W­S¤ä«ùJSP pages¦P¼Ë¤]¤ä«ùJSP document¡C¨âªÌ¤§¶¡¥D­nªº°Ï§O¬O¥¦­Ì¹ïXML­Ý®eªºµ{«×¡CJSP pages¨Ï¥Î¶Ç²Îªº©ÎªÌ»¡¬O¡§³t°O¡]shorthand¡^¡¨»yªk¡A¦ÓJSP document¡D¥Îªº»yªk§¹¥þÉOXML¬Û­Ý®e¡CJSP document¡D®É­Ô³Q¦¨¬°¬O¨Ï¥Î¤FXML»yªkªºJSP pages¡C¦ý¬O³o¨½§Ú±N¤À§OºÙ¥¦­Ì¬°JSP pages©MJSP document¡D«K¥[¥H°Ï¤À¡C

¡@¡@ °ò¤_¥H¤U¤L­Ó­ì¦]§Ú±À¯ò¨Ï¥ÎJSP document¡D

¡@¡@ 1.JSP document¡D«Ü¦n²Õ´¤FªºXML\HTML(You can easily verify JSP document¡D as well-formed XML/HTML)

¡@¡@ 2.¥i¥H¨Ï¥ÎXML Schema¨ÓÅçµýJSP document¡D l ¥i¥H«Ü®e©öªº¨Ï¥Î¼Ð­ãªºXML¤u¨ã¨Ó¼g©M¸ÑªR

¡@¡@ 3.¥i¥H¨Ï¥ÎXSLT¡]Extensible Stylesheet Language Transformations¡^¥H¤£¦Pªºform¨Ó½s¼gJSP document¡D¨ãÊ^½Ð¬Ý¡§JSP document¡Dnbspwith XSLT¡¨http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-morejsp.html

¡@¡@ 4.JSP¨Ï¥Î¤FXML¬Û®einclude©Mforward action¡Acustom¼Ðñ¡A¦]¦Ó¨Ï±o¾ã­Ódocument¡DXML¬Û®e¡A³o¼Ë´N´£°ª¤F½s½Xªº¤@­P©Ê¡C

¡@¡@ 5.JSP document¡D¬Û¹ïJSP pages»Ý­nµy·L¦h¤@ÂIªº¶}µo³W«h¡A¦ý¬O±a¨Óªº¦n³B¬O§ó¥[®e©ö¾\Ū©Mºû«ùªºdocument¡D¡A¯S§O¬O¹ï¤_­è­è¶}©l¾Ç²ßJSPªº¤H¨Ó»¡¡C

¡@¡@ Ãö¤_³Ð«ØJSP document¡D©M¨ä¯SÂIªº¸Ô²Ó¤º®e½Ð°Ñ¦Ò¡§Write JSPs in XML Using JSP1.2¡¨¡]http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-morejsp.html¡^

¡@¡@ JSP document¡D³Ì¤jªº¯ÊÂI¬O¨S¦³ÉOXML¬Û­Ý®eªºJSPª`ÄÀ¦s¦b¡CJSP document¡D¥H¨Ï¥Î«È ¤áºÝªºª`ÄÀ¡]HTML-/XML ¨Cstyle¡^©ÎªÌ¬O´O¤Jªºjavaª`ÄÀ¡C¦ý¬O¨S¦³JSP document¡D<%-- --> ¦ÓJSP¥i¥Îªº¤W­±ªº¨âÏúª`ÄÀ¤èªk³£¦³¨ä¦Û¨­ªº¯ÊÂI¡C§A¥i¥H¦b±o¨ìªºÊI­¶¤¤¬Ý¨ì«È¤áºÝªºª`ÄÀ¡]³q¹LÂsÄý¾¹µø¹Ï¨½­±ªº¡§¬d¬Ý·½¤å¥ó¡¨¥\¯à¡^¡A¦Ó¥B­n¨Ï¥Îjavaªºª`ÄÀ»Ý­n±Njava¥N½Xª½±µªº¼g¦bJSP document¡D¤¤¡C

¡@¡@ ¦b¥»¤å³Ñ¤Uªº³¹¸`¤¤¡A§Ú±N¨Ï¥ÎJSPs¨Ó¥NªíJSP pages©MJSP document¡A¦]¬°§Ú©Ò°Q½×ªº³Ì¨Î¹ê½î¦P¼ËªºÓì¥Î³o¨âÏú§Î¦¡ªºJSP¡C

¡@¡@ ¨Ï¥ÎJSPªº½s½X³W­S

¡@¡@ µL½×¨Ï¥Î¥ô¦ó¤@Ïú»y¨¥¡A³Ð«Øªº¥ô¦ó¤uµ{¡A¦b´£°ª¶}µo¡AºûÅ@¡A©M´ú¸Õ§Aªº³n¥óªº¨¤«×¿í´`½s½Xªº¼Ð­ã©M³W­S³£¬O«Ü©ú´¼ªº¿ï¾Ü¡CŪ¨ä¥L¶}µo¤H­ûªº¥N½X¦}¤£Â²³æ¦Ó¥B¤]¤£¬O´r§Öªº¨Æ±¡¡C¦ý¬O¡A¦pªG©Ò¦³ªº¶}µo¤H­û³£¿í´`¦P¼Ëªº©R¦W³W­S©M¨ä¥Lªº¤@¨Ç¬ù©wªº¤Æ¡A¾\Ū¥N½X©MºûÅ@´N·|¨Ï±o¾\Ū¥N½X¹ï¥L¤H©M½sµ{¤H­û¦Û¤vÅܪº®e©ö¤@¨Ç¡C

¡@¡@ Sun Microsytem ³Ìªñ¤w¸gÀ°§U¤@¨Ç²Õ´¨Ó³Ð«Ø³o¼Ëªº³W­S¡A¨î©w¤F¤åÀÉ¡§Code Conventions for the JavaServer Pages Technology Version 1.x Language¡¨¥i¥H§K¶OÀò±o¡A°Ñ¦Ò¡§Resources¡¨(http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-morejsp.html)¡C¦pªG§Aªº¤½¥qÁÙ¨S¦³¿í´`JSP ½sµ{³W­Sªº¸Ü¡A§Ú«ØÄ³¨Ï¥Î³o­Ó¤åÀɧ@¬°¤@­Ó°_ÂI¡C§A¥i¥H§¹¥þªº¿í·Ó¸Ó¤åÀɤ]¥i¥H¦b¨ä°ò¦¤W³Ð«Ø¦Û¤vªº³W­S¡C

¡@¡@ ¬°¹ï¶H¿ï¾Ü¦XÓ쪺Scope

¡@¡@ JSP ³W­S¤ä«ù¥|Ïúscope¡]À³¥Îapplication,·|¸Üsession¡A½Ð¨Drequest©M­¶­±page¡^,¦bJSPs¤¤§A¥i¥H¬°³Ð«Øªº¹ï¶H¿ï¾Ü¨ä¤¤ªº¤@Ïú¡A¦]¬°¸j©w¨ì³o¨Çscopeªº¹ï¶H®ø¯Ó¤º¦s¡A¦}¥B¦b¦³¨Ç®É­Ô»Ý­nÄÀ©ñ¡A©Ò¥H³Ì¦n¿ï¾ÜÓì·íªºscope¨Ó§¹¦¨§Aªº¥ô°È¡C

¡@¡@ À³¥Î­S³ò¡]Application scope¡^

¡@¡@ Application scope ¬O³Ì¬°¼sªxªº¤@­Ó­S³ò¡AÀ³¸Ó¦b¥²­nªº®É­Ô¤~ªö¥Î³oÏú§Î¦¡¡C§A¥i¥H¦b«D·|¸Ü¬ÛÃö¡]session-aware¡^ªºJSPs¤¤³Ð«Ø¸j©w¨ìapplicationªº¹ï¶H¡]You can create objects bound at application level in JSPs that are not session-aware,¡^¦b³oÏúÃþ«¬ªºJSPs¤¤¥i¥H¥ÎÀ³¥Î­S³ò¨Ó¦sÀx¼ÆÕu©M«H®§¡C¡] so application scope is useful for storing information when using these types of JSPs¡^¡C§A¤]¥i¥H¨Ï¥Î¸j©w¨ìapplicationªº¹ï¶H¥Î¨Ó¦b¤£¦Pªº·|¸Ü¡]session¡^¶¡¦@¨É¼ÆÕu¡C·í§A¤£»Ý­napplication­S³òªº¹ï¶Hªº®É­Ô¤@©w­nÅ㦡ªº§R°£¥¦­Ì¥H«KÄÀ©ñ¤º¦s¡C

¡@¡@ ·|¸Ü­S³ò¡]session scope¡^

¡@¡@ ¦b§Úªº¸gÅ礤¡A·|¸Ü­S³ò­n¤ñÀ³¥Î ­S³ò¥Îªº¦h¡C·|¸Ü­S³ò¤¹³\§A³Ð«Ø¦}¥B±N¹ï¶H¸j©w¨ì¤@­Ó·|¸Ü¤W­±¡C§A¥²¶·¦bsession-awareªºJSPs¤¤³Ð«Ø¸j©w¦b·|¸Üªº¹ï¶H¦}¥B¨Ï¦b¦P¤@­Ó·|¸Ü¤¤©Ò¦³ªºJSP©Mservlet¯à°÷³X°Ý¨ì³o¨Ç¹ï¶H¡C·|¸Ü­S³ò±`±`¥Î¦bºÞ²z¦w¥þÅçµý©MºÞ²z¦h­Ó­¶­±ªºª¬ºA«H®§¡C¸j©w¦b·|¸Ü­S³òªº¹ï¶H¦b¤£»Ý­nªº®É­Ô¤]­nÅã¥Üªº§R°£¡C·í§Ú­p¦E±N¬Y­ÓÃþªº¹ï¶H¸j©w¨ì·|¸Ü­S³òªº®É­Ô§Ú³q±`·|¨Ï¸ÓÃþ¥i¦ê¦æ¤Æ¡C

¡@¡@ ½Ð¨D­S³ò¡]request scope¡^

¡@¡@ ¦b¸j©w¹ï¶Hªº®É­Ô¡A­¶­±­S³ò§Ú¥Îªº³Ì¦h¡C¦¹Ãþ¹ï¶H¥u¦b¦P¤@­Ó½Ð¨Dªº­¶­±¶¡¦³®Ä¡C¦b½Ð¨D³B²z§¹¦¨ªº®É­Ô³o¨Ç¹ï¶H±N·|¦Û°Êªº³QÄÀ©ñ¡C¦]¦Ó¤£»Ý­nÅ㦡ªºÄÀ©ñ¥¦­Ì¡A³o¼Ë´N¨S¦³¤F¨Ï¨t²Î³Q¤@¨Ç¤£¥²­n¤º¦s®ø¯Ó¦Ó©ì²Öªº¦MÀI¡C

¡@¡@ ­¶­±­S³ò¡]page scope¡^

¡@¡@ ·í§A³Ð«Ø¥u¹ï·í«e­¶­±¬ÛÃöªº¹ï¶Hªº®É­Ô§A»Ý­n¿ï¾Ü­¶­±­S³ò¡C©M½Ð¨D­S³ò¤@¼Ë¡A¸j©w¦b­¶­±­S³òªº¹ï¶H¤£­nÅ㦡ªº§R°£¡C§Ú«Ü¤Ö¦b§ÚªºJSPÀ³¥Î¤¤¨Ï¥Î¡§­¶­±­S³ò¡¨¡A¦ý¬O³o¬OªºÀq»{­S³ò¡C

¡@¡@ ¿ï¾Ü­þÏú­S³ò¡]scope¡^

¡@¡@ »Ý­n¥J²Óªº¿ï¾Ü³Ð«Ø¹ï¶Hªº­S³ò¨Ó«Oµý¦³®Äªº§Q¥Î¤º¦s¡A³q±`§Ú·|¦b­è­è¶}©lªº®É­Ô¿ï¾Ü½Ð¨D­S³ò¡AµM¦Z¦bµû¦ô¬O§_»Ý­n¿ï¾Ü­S³ò§ó¤jªº­S³ò¡C

¡@¡@ ¥J²ÓªººÞ²z·|¸Ü­S³ò

¡@¡@ «e­±¤w¸g´£¨ì¹L¡A¥u¦³¦b¥²­nªº®É­Ô¤~¿ï¾Ü·|¸Ü­S³ò¦}¥B·í³o¨Ç¹ï¶H¤£¦b»Ý­n·|¸Ü¯Å³X°Ýªº®É­Ô»Ý­nÅ㦡ªº¥h±¼¹ï¶Hªº¨ä·|¸Ü­S³ò¡C·í¤£¨Ï¥Î·|¸Ü­S³òªº¹ï¶HªºJSP¤¤§A¥i¥H³]¸m­¶­±ªºdirectiveªºsessionÄݩʬ°false¡A³o¼Ë¥i¥HÁ×§KºÞ²z·|¸Ü­S³ò¡C¦ý¬O¡A«Ü¤ÖªºÊIµ¸À³¥Î¤£»Ý­n·|¸Ü­S³òªº¤ä«ù¡C³q±`¡A§Ú¨Ï¥Î·|¸Ü¨Ó¤ä«ù¦w¥þÉó¨î¥H¤Î¨ä¥Lªº¤@¨ÇÀ³¥Î»Ý¨D¡CºÉºÞ¤@­Ó·|¦b¤@­Ó¥i¥H¥Ñ§A°t¸mªº®É¶¡¦Z¹L´Á¡A¦ý¬O¦b¤£»Ý­n¹ï¶Hªº·|¸Ü­S³òªº®É­Ô³Ì¦nÅ㦡ªº¨ú®ø¥¦­Ì¡A¦Ó¤£¬O¨Ì¿à·|¸Ü¦Û°ÊÄÀ©ñªº¥\¯à¡C

¡@¡@ ªö¥ÎJSTL¡]¼Ð­ã¼Ðñ®w¡^

¡@¡@ JSPªº¤Þ¤J©Mªö¯Ç¤w¸g¦¨¬°JSP¶}µo¤H­ûªº¤@­Ó³Ì¬°­«­nªº¶i¨B¡CJSTL¦³®É­Ô¤]ºÙ¬°¡§JSP Standard Tag Library¡¨¡C¦bJSTL¤¤ªºT¥Nªíªº¬O¼Ðñ¡]Tag¡^¦Ó¤£¬O¼ÒªO¡]Template¡^¡C

¡@¡@ JSTL¡G­I´ºÉO¦^ÅU

¡@¡@ ¦b§Ú¥H«eªº¤å³¹¨½¡A§Ú´£¨ì¹LJSP¶}µo¤H­ûªö¯Ç¥i¥H±o¨ìªº¦Û©w¸q¼Ðñ®w¦Ó¤£¬O¦Û¤v±qÀY¶}©l³Ð«Ø¡C¦³³\¦hªº°Ó·~ªº©ÎªÌ¶}·½ªº¦Û©w¸q¼Ðñ®w²{¦b¤w¸g¥i¥H¥[¥H§Q¥Î¡C¦ý¬O¦³¤@­Ó¯ÊÂI´N¬O¡G¶}µo¤H­û»Ý­n¦bJSP¤¤«ö·Ó³o¨Ç¦Û©w¸q¼Ðñ®w©Ò¯S©wªº®æ¦¡¨ÓÀ³¥Î³o¨Ç¼Ðñ¡CJSTLªº¥X²{¸Ñ¨M¤F³o­Ó°ÝÃD¡A¦]¬°JSTL´£¨Ñ¤F¦Û©w¸q¼Ðñªº¼Ð­ã±µ¤f¡A³o¨Ç¼Ðñ¨¬¥Hº¡¨¬JSP¶}µo¤H­ûªº¤@¨Ç°ò¥»ªº­n ¨D¡C¡]The advent of JSTL has addressed this downside by providing standard interfaces to the custom tags that perform many basic functions JSP developers need.¡^ ¤£¦Pªº¨ÑÀ³°Ó¥i¯à¥H¤£¦Pªº§Î¦¡¹ê²{³o¨ÇJSTL¼Ðñ¡A¦ý¬OJSP¶}µo¤H­û¤£­nª¾¹D¹ê²{¼Ðñ®Éªº¤£¦PÂI¡C¦pªGJSP¶}µo¤H­û¨Ï¥ÎJSTL½s¼g¤FJSP page©ÎªÌJSP document¡DJSP page©ÎªÌJSP document¡D¸ÓÓì¥Î©Ò¦³ªºJSTL¹ê²{¤èªk¡C¦³³\¦h¦³É²­Èªº®Ñ©M¤@¨Ç¦b½uªº¸ê·½¥i¥H¥h¾Ç²ßJSTL¡C³o¨½§Ú±N¥D­n²³æªº¤¶²ÐJSTLªºÉ¬ÂIÉO¯S©Ê¡C

¡@¡@ JSTLªºÉ¬ÂI

¡@¡@ ²µuªº»¡¡AJSTL´£¨Ñ¤F©Ò¦³ªº¤w¸g¤½¥¬ªº¦Û©w¸q¼Ðñ®w©Ò¦³ªº¦n³B¡A¦Ó¥B´£¨Ñ¼Ð­ã¤Æªº¼ÐñAPI¡CJSTL«P¶i¤F°ª¥iºûÅ@©Ê©M¥i²¾´Ó©Êªºpages©Mdocument¡C§Ú¦C¥X¤FJSTL¤@¨Ç¯S§Oªº¯SÂI¡C

¡@¡@ 1.JSTL´£¨Ñ¤F°ò¤_¼Ðñªº¹M¾ú¡A±ø¥ó¥H¤Î¨ä¥L¤@¨Ç¥\¯à¡A³o¨Ç¥\¯à¥H«e©ÎªÌ¬Oª½±µ¦bJSP¤¤´O¤J¥N½X¨Ó¹ê²{ªº¡A©ÎªÌ¬O¨Ï¥Î¤F¦Û¤v³Ð«Øªº¼Ðñ¡A«D¼Ð­ãªº¼Ðñ®w¡A©ÎªÌ¬O³q¹L¨Ï¥ÎServlet¨Ó¥N´ÀJSP¨Ó¹ê²{ªº¡C

¡@¡@ 2.JSTL¨Ï¥Î¤FEL¡]expression language¡^»yªk

¡@¡@ 3.½s¼g¦Û©w¸q¼Ðñ¬Û¹ï¨ä¥L¤@¨ÇJSP¶}µo¥ô°È¨Ó»¡»Ý­n§ó¦hªººë¤OÉO¸gÅç¡CJSTL³q¹L¨âÏú¤èªk¨Ó²¤Æ³o¨Ç¨BÆJ¡G­º¥ý¡A¦p«e©Ò­z¡Ajs tl¯à¸Ñ¨M«Ü¦h©w¨î(¦Û©w¸q)ªºtagsªº»Ý­n.¡]JSTL handles many common needs for custome tags¡^¡C¨ä¦¸¡AJSTL´£¨Ñ¤F¤@¨ÇÉó¨î¨Ï±o½s¼g§A¦Û©w¸qªº¼Ðñ§ó²³æ¡A¤×¨ä¬O½s¼g¤ä«ùEL¦Û©w¸q¼Ðñªº®É­Ô¡C

¡@¡@ ¨ãÊ^ªºJSTL¯S©ÊÉOɬÂI ¤U­±Â²³æªº·§¬AJSTL4­Ó¥i¥Î¦Û©w¸q¼Ðñ®w¤¤¤T­Ó¼Ðñ®wªº¤@¨ÇɬÂI¡A¦}¥Bµ¹¥X¤F¤£±À¯ò¨Ï¥Î¼ÆÕu®w³X°Ý¼Ðñ®w(database access library)ªº­ì¦]¡C¦P¼Ë§Ú¤]°Q½×¤F¨Ï¥ÎELªºÉ¬ÂI¡C

¡@¡@ ¼ÆÕu³X°Ý¼Ðñ®w¡]Database access library¡^

¡@¡@ JSTL´£¨Ñ¤F¼ÆÕu³X°Ý¼Ðñ®w¡A¦ý¬O§Ú«Ü¤Ö¥Î¥¦¡A¦]¬°§Ú±j¯Pªº»{¬°¤£À³¸Ó¦bJSP­¶­±¤ºª½±µ³X°Ý¼ÆÕu®w¡C¦pªG¦bJSP¤¤ª½±µªº³X°Ý¼ÆÕu®w±N·|­°§C­«¥Î¡A¦]¬°¼ÆÕu®w³X°Ýªº¥N½X¦b¨Ï¥Î¼ÆÕu®w­S³ò¼ÐñªºJSP­¶­±¥~¬O¤£¥i¥H³Q³X°Ý¨ìªº¡C¦bJSPs¤¤ª½±µªº¶i¦æ¼ÆÕu®w³X°Ý±N·|¥[¤jªí¥Ü¼hÉO¼ÆÕu¼h¤§¶¡ªº½¢¦X¡CÄY®æªº¤À³Î·N¨ýµÛ§ó¦nªº¼Ò¶ô¤Æ¡AÎ`¥Î©Ê¡A¥H¤Î§ó®e©öªºº¡¨¬ªí²{¼h©M¼ÆÕu¼h¤§¶¡ªº³W­S¡]Disciplined separation means more modularity, greater opportunity for reuse, and better opportunities for specialization of presentation and database experts¡^¡C.§Ú±À¯ò¦bJSTLªº¨ä¥L¤TÏú¼Ðñ®w¥i¥Hº¡¨¬JSP¶}©ñ¤H­ûªº»Ý¨Dªº®É­Ô¨Ï¥Î³o¨Ç¼Ðñ®w¡A¦ý ¬O§Ú¤£±À¯ò¨Ï¥ÎJSTLªº¼ÆÕu®w­S³ò¼Ðñ®woutside of prototypes and the simplest Web applications¡C

¡@¡@ JSTL ®Ö¤ß¼Ðñ®w(JSTL core tag library)

¡@¡@ ¥¿¹³¦W¦r¤@¼Ë¡AJSTL®Ö¤ß¼Ðñ®w¬O¦bJSTL¥|Ïú¼Ðñ®w¤¤³Ì±`¥Îªº¤@Ïú¡C³o­Ó¼Ðñ®w´£¨Ñ¤F¹ïcollectionªº¹M¾ú¡A±ø¥ó»y¥y¥H¤Î¨ä¥¦¤@¨Ç±`¥Îªºµ{§Çµ²ÌÛ¡CJSTL®Ö¤ß¼Ðñ®w¥i¥H¨Ï±oJSP¶}©ñ¤H­û¤£¥²½s¼g¥L­Ì¦Û¤vªº¦Û©w¸q¼Ðñ®w©ÎªÌª½±µ¦bJSPs¤¤´O¤JJava¥N½X¡C

¡@¡@ JSTL XML ¼Ðñ®w¡]JSTL XML tag library¡^

¡@¡@ ³o­Ó¼Ð°O®w´£¨Ñ¤F¤@¨Ç¥O¤HÃٹĪº¥B¥\¯à±j¤jªºXML¾ÞÁa¼Ðñ©MXSLTÂà´«¼Ðñ¡C

¡@¡@ JSTL formatting ¼Ðñ®w

¡@¡@ ¦pªG»Ý­n¦b¦h­Ó°ê®a´£¨ÑÊI­¶©MÊI§}¡A¨º¤\°ê»Ú¤Æ¡]internationalization¡^¹ïÊIµ¸¶}µo¶µ¥Ø¡]web development projects¡^¨Ó»¡¬O¤@­Ó«Ü¤jªº¬D¾Ô¡CJSTL formatting¼Ðñ®w¬°¦¹¦VJSP¶}µo¤H­û´£¨Ñ¤F¤@¨Ç¦Û©w¸q¼Ðñ¡A¥i¥H¤ä«ù«ö·Ó¯S©wªº°Ï°ìŪ¼g¼Æ¦r©M¹ê½î¡C

¡@¡@ Expression Language

¡@¡@ JSTL¥H¤Wªº¦Û©w¸q¼Ðñ®w¦³¨âÏúÃþ«¬¡GRT¡]traditional request time¡^¦Û©w¸q¼Ðñ®w©MEL¼Ðñ¡C¦]¬°EL­n§óÆF¬¡¤@¨Ç¡A©Ò¦³§Ú±À¯ò¨Ï¥ÎEL¦Û©w¸q¼Ðñ®w¡C

¡@¡@ JSTL©M¨ä¥L¤@¨Ç¦Û©w¸q¼Ðñ®w

¡@¡@ ¦]¬°¦Û©w¸q¼Ðñ®w(custom tag library)¦bJSTL¤Þ¤J¥H«e¤w¸g¨Ï¥Î¤F«Üªøªº®É¶¡¡A³\¦hªº­ÓÊ^©M²Õ´³£¤w¸g¶}µo¤F¦Û©w¸qªº¼Ðñ®w¡C³o¨Ç¼Ðñ®w¦b«Ü¤jµ{«×¤WÉOJSTLªº¥\¯à³£¦³­«Î`¡C¦b¤j¦h¼Æ±¡ªp¤U¡A¦b¦Ò¼{¹ê²{¬Û¦Pªº¥\¯à®É¡A§Ú±À¯ò¨Ï¥ÎJSTL¦Ó¤£¬O¦Û¤v¶}©ñªº¦Û©w¸q¼Ðñ®w©ÎªÌ®É¨ä¥L¤@¨Ç¥i¥H±o¨ìªº¦Û©w¸q¼Ðñ®w¡]other publicly available custom tag library¡^¡CJSTL´£¨Ñªº¼Ð­ã¤Æ¬O¤@­Ó·N¸q­«¤jªºÉ¬ÂI¦]¬°¢Ï¢Þ¢×¥i¥H¾Ç¤@¦¸¡A¦Ó¦Z§A´N¥i¥H¤@³eªº¨Ï¥Î¤F¡C

¡@¡@ ¤ñ¸ûStrutsªº¼Ðñ®w©MJSTL¼Ðñ®w´£¨Ñ¥i¥HÀò±o¤@­Ó«Ü¦n§Q¥Î³o¨Ç³Ì¨Î¹ê½îªº¨Ò¤l¡]Comparing Struts tag libraries and JSTL provides a good example of how to implement this best practice¡^¡CStruts´£¨Ñ¤FMVC®Ø¬[¥H¥~¨ä¥Lªº¤@¨ÇɬÂI¡C¨ä¤¤¥]¬AªºStrutsªº¦Û©w¸q¼Ðñ®w¶°¦X¡C¦bJSTL¤Þ¤J¤§«e¡AStrutsªº¦Û©w¸q¼Ðñ®w¤w¸g¤ä«ù¹M¾ú¡] iteration¡^¥H¤Î±ø¥ó¼Ðñ¡A¦ý¬O²{¦b§Ú¶}©l¨Ï¥ÎJSTLªº¹M¾ú©M±ø¥ó¼Ðñ¦Ó¤£¬OStruts¨½­±ªº¼Ðñ¡C§Ú²{¦b¤´µM¦A¨Ï¥ÎStrutsªºform¼Ðñ¡A³o¬O¦]¬°³o­Ó¼ÐñÉOStrutsªºªí³æ¡]form¡^ºò±KªºÁp¨t¦b¤@°_¡A¦Ó¥B¦bJSTL¨S¦³¬Û¹ïÀ³ªº¼Ðñ¥i¥Î¡C

¡@¡@ ¤ñ¸û¨ä¥Lªº¤@¨Ç¦Û©w¸q¼Ðñ®w©MJSTL¼Ðñ®w¡A¤W­±ªº°Q½×¤]¬OÓì ¥Îªº¡C¦pªGJSTL¼Ðñ®w¥i¥H§¹¥þªº¤ä«ù¦P¼Ëªº¥\¯àªº¸Ü¡AÀ³¸Ó¨Ï¥Î¼Ð­ãªºJSTL¼Ðñ¡C·íµM¦pªGJSTL¤£¤ä«ùªº¸Ü¡A§A´N¨S¦³¿ìªk¤F¡C¦b¤j¦h¼Æ±¡ªp¤U¡A¹³§Ú¤W­±°Q½×ªºStruts¼Ðñ©MJSTL¼Ðñ¡A³q±`»Ý­n¦P®É¨Ï¥ÎJSTL©M¨ä¥L¤@¨Ç¦Û©w¸q¼Ðñ¡C

¡@¡@ JSTL¡G³Ì¦Zªº¸É¥R

¡@¡@ Ãö¤_JSTL§ó¸Ô²Óªº¤º®e,¦oªº¯SÂI¡A¥H¤Î¦p¦ó¦b§Aªºjsp¤¤À³¥ÎJSTL½Ð°Ñ¦Ò¡§resources¡¨ http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-morejsp-p2.html¡C¦b¡§resource¡¨¤¤¥]§t¤F¨ì¡§Apache's Standard Taglib(¤@­Ó¶}·½ªº¡A¼sªx¨Ï¥ÎªºJSTL¹ê²{)ªº³s±µ¡CWeb serverªº´£¨Ñ°Ó¤w¸g¶}©l¦b¥L­ÌªºwebªA°È¾¹¤Wµo¥¬JSTLªº¹ê²{¡AJSTL¹w´ú±N¦¨¬°³Ì²×ªºJSP2¡C0³W­S¤¤ªº¤@³¡¤À¡C




Copyright? 2002-2005 Powered By PassBiBle.Com°êÈÒIT»{µý¥N¦ÒÊI ª©Åv©Ò¦³