|
| |
 |
|
|
|
JSP2.0 й¦ÄܽéÉÜ
|
×÷Ϊ¹úÄÚÊ×¼ÒÍÆ³öJSPÐéÄâÖ÷»úµÄÍøÂçÌṩÉÌ£¬ÉϺ£¹¤Òµ¾¼ÃÍøÒ»Ö±¶¼ÖÂÁ¦ÓÚΪÓû§Ìṩ¸üºÃµÄ¡¢¸üÎȶ¨¡¢¸üÏȽøµÄ¿Õ¼ä·þÎñ¡£ÎÒÃǾ¹ýÒ»¶Îʱ¼äµÄ¶ÔJSP·þÎñÆ÷Tomcat×îа汾5.0.16µÄ¸ú×ٺͲâÊÔ£¬¸Ð¾õµ½Æä¸÷·½ÃæµÄÐÔÄܱÈÇ°ÃæµÄ°æ±¾µÄÈ·ÓкܴóµÄÌá¸ß¡£Í¬Ê±ÓÉÓÚ¶Ôjsp2.0µÄÖ§³Ö£¬¼«´óµÄÌá¸ßÁËWEB³ÌÐò¿ª·¢ºÍά»¤µÄЧÂÊ£¬ËùÒÔÉϺ£¹¤Òµ¾¼ÃÍøµÄTomcat·þÎñÆ÷¶¨ÔÚ2004Äê2ÔÂÉÏÑ®×óÓÒÉý¼¶ÎªTomcat5.0.x¡£
ÒÔϾͼòÒª½éÉÜÒ»ÏÂJSP2.0ºÜ¶àÈ«ÐÂÌØÐÔ£¬Èôó¼Ò¶ÔJSP2.0ÓÐÒ»¸ö³õ²½µÄÁ˽⡣Ҫ֪µÀ£¬
ÉϺ£¹¤Òµ¾¼ÃÍøµÄTomcat5.0.x·þÎñÆ÷Ö§³ÖJSP2.0µÄËùÓÐÌØÐԵġ£ JSP£¨JavaServer Pages£©¼¼ÊõÊǶÔServletµÄ½øÒ»²½³éÏó£¬ËüÓÉJCP£¨Java
Community Process£©¿ª·¢£¬ÊÇÓÃÓÚÉú³É¶¯Ì¬ÄÚÈݵĿª·ÅʽµÄ¡¢¿ÉÃâ·Ñ»ñÈ¡µÄ¹æ·¶£¬Ò²ÊÇJ2EE£¨Java 2 Enterprise
Edition£©¹æ·¶µÄÖØÒª×é³É²¿·Ö¡£JSP2.0°æÊǶÔJSP1.2µÄÉý¼¶£¬Ôö¼ÓÁËһЩÓÐȤµÄÐÂÌØÐÔ¡£JSP2.0µÄÄ¿±êÊÇ£º
- ʹ¶¯Ì¬ÍøÒ³µÄÉè¼Æ¸ü¼ÓÈÝÒ×
- ¼ò»¯JSPÒ³Ãæ£¬Ê¹µÃJSPÒ³ÃæÈÝÒ×ά»¤
- ʹWEBÓ¦ÓóÌÐòǰºǫ́ӦÓøüÇåÎú
- ÎÞÐèѧϰJava±à³ÌÓïÑԾͿÉÒÔ±àдJSPÒ³Ãæ
³ýÁËÆäËûһЩ¸Ä½øÍ⣬JSP 2.0ÒýÈëµÄ×îÖ÷ÒªµÄÐÂÌØÐÔ°üÀ¨£º
- Ò»ÖÖ¼òµ¥µÄ±í´ïʽÓïÑÔ£¨EL£©£¬Äܹ»ÓÃÀ´ÈÝÒ׵شÓJSPÒ³Ãæ·ÃÎÊÊý¾Ý£¬ÕâÖÖ±í´ïʽÓïÑÔ¼ò»¯ÁË»ùÓÚJSPµÄ²»º¬½Å±¾µÄÓ¦ÓóÌÐòµÄ±àд£¬²»ÐèҪʹÓÃJava
Scriptlet»òÕßJava±í´ïʽ£»
- ÓÃÓÚÖ±½ÓʹÓÃJSP¼¼ÊõÀ´¶¨Òå¿ÉÖØÓõÄ×Ô¶¨ÒåÐÐΪµÄÐÂÓï·¨£¬¸ÃÓ﷨ʹÓÃ.tagºÍ.tagxÎļþ£¬ÕâÀàÎļþ¿ÉÓÉ¿ª·¢ÈËÔ±»òÕßÍøÒ³×÷Õß±àд£»
- XMLÓï·¨µÃµ½ÁËʵÖÊÐԵĸĽø£¬Ôö¼ÓÁËеıê×¼ÎļþÀ©Õ¹Ãû£¨.tagxÓÃÓÚ±êÇ©Îļþ£¬.jspxÓÃÓÚJSPÎļþ£©¡£
ÉϺ£¹¤Òµ¾¼ÃÍøÐÂÉý¼¶µÄTOMCAT5.0.x·þÎñÆ÷Ö§³ÖÒÔÉÏJSP2.0µÄÈ«²¿ÌØÐÔ,ÏÂÃæÌÖÂÛ±í´ïʽÓïÑÔ¡¢¼ò»¯µÄ±êÇ©APIºÍ±êÇ©Îļþ,ÒÔϵÄJSP³ÌÐò¶¼ÊÇÔÚTOMCAT5.0.XÉÏʵÏֵġ£ÏàÐÅĿǰµÄJSP¿ª·¢ÈËÔ±½«»á·¢ÏÖÕâÐ©ÖØÒªµÄÌØÐÔ²»µ«ÓÐȤ£¬¶øÇҷdz£ÓÐÓá£
|
Ò». JSP±í´ïʽÓïÑÔ _ ELÀ©Õ¹±í´ïʽÓïÑÔ
EL(±í´ïʽÓïÑÔ)ÊÇÒ»ÖÖÊý¾Ý·ÃÎÊÓïÑÔ£¬¿ÉÒÔ·½±ãµØ·ÃÎʺʹ¦ÀíÓ¦ÓóÌÐòÊý¾Ý£¬¶øÎÞÐèʹÓÃscriptlet»òÕßÇëÇóʱ£¨request-time£©±í´ïʽµÄÖµ¡£(²»ÐèҪʹÓÃ<%
ºÍ%>À´»ñµÃÊý¾Ý£¬ELʹJSPÒ³Ãæ±àдÈËÔ±°ÚÍÑÁËjavaÓïÑÔ,ʹÓû§¼´Ê¹²»¶®JAVAÒ²¿ÉÒÔÇáËɱàдJSP³ÌÐò.
ÔÚJSP2.0֮ǰ£¬ÍøÒ³×÷ÕßÖ»ÄÜʹÓñí´ïʽ<%= aName %>·ÃÎÊϵͳµÄÖµ£¬±ÈÈ磺
<someTags:aTag attribute="<%= pageContext.getAttribute("aName")
%>"> »òÕß <%= aCustomer.getAddress().getCountry() %>
¶ø±í´ïʽÓïÑÔÔÊÐíÍøÒ³×÷ÕßʹÓüòµ¥µÄÓï·¨·ÃÎʶÔÏó¡£±ÈÈçÒª·ÃÎÊÒ»¸ö¼òµ¥±äÁ¿£¬¿ÉÒÔÏñÏÂÃæÕâÑùд£º
<someTags:aTag attribute="${aName}">
¶ø·ÃÎÊJavaBeansÊôÐÔ£¬¿ÉÒÔʹÓãº${aCustomer.address.country}
- Tomcat¶ÔELÀ©Õ¹±í´ïʽµÄÖ§³ÖºÍÅäÖãº
tomcat5.0ĬÈÏÖ§³ÖEL£¬Í¬Ê±Óû§¿ÉÒÔÔÚWeb.xmlÎļþÖжÔÕû¸öwebÓ¦ÓóÌÐò½øÐÐÉèÖûòÕßÔÚÿ¸öÒ³ÃæÖе¥¶ÀÉèÖÃpageÖ¸ÁîÀ´¿ØÖÆTOMCATÊÇ·ñ¶ÔELµÄÖ§³Ö¡£ELÀ©Õ¹±í´ïʽÓïÑÔµÄÉèÖÃ
- ±í´ïʽÔËËã·ûºÅ£º
EL±í´ïʽÔËËã·û°üÀ¨ËãÊýÔËËã·û(+-*/),¹ØÏµÔËËã·û(><)ºÍÂß¼ÔËËã·û(&& ||
£¡)£¬»¹ÓÐempty ÅжÏÖµÊÇ·ñΪ¿Õ,ͬʱELÄܹ»¶Ô×Ö·û´®,Êý×ֵȸ÷ÖÖÀàÐ͵ÄÊý¾ÝÖ®¼äµÄ×Ô¶¯×ª»»£¬Ê¹EL ¼æÈÝÁËJAVASCRIPTµÈ½Å±¾ÓïÑÔµÄÓŵã,°ÚÍÑÁËJAVAÓïÑÔÑϸñµÄÊý¾ÝÀàÐÍÏÞÖÆ£¬Ê¹ÓÃÆðÀ´¼òµ¥£¬Ö»ÐèÒª¼¸·ÖÖӾͿÉÒÔÇáËÉÕÆÎÕ(¶ÔÓÚ²»¶®javaµÄÍøÒ³±àдÈËԱʵÔÚÊÇÒ»¼þºÃÊÂ)¡£¸÷ÖÖÔËËã·ûÔËËãʵÀý
- ÄÚÖõÄ11¸öÒþº¬¶ÔÏó£º
Ϊ·½±ãµÄ»ñµÃWEBÓ¦ÓóÌÐòµÄÏà¹ØÊý¾Ý,EL±í´ïʽÓïÑÔ¶¨ÒåÁËһЩÒþº¬¶ÔÏó¡£Òþº¬¶ÔÏó¹²ÓÐ11¸ö¶ÔÏó£¬(JSPÖоßÓÐ9¸öÒþº¬¶ÔÏó,EL±ÈJSPÖоßÓиü¶àµÄÒþº¬¶ÔÏó£¬ÕâÑùEL±ÈJSP¸ü·½±ãµÄ»ñÈ¡Êý¾Ý)
ʹÓÃÕâЩ¶ÔÏó¿ÉÒԺܷ½±ãµÄ·ÃÎÊWeb ³ÌÐòÊý¾Ý¡£
Òþº¬¶ÔÏó°üÀ¨Session(»ñµÃµ±Ç°web³ÌÐòµÄSessionÖµ),cookie(»ñµÃWEB³ÌÐòµÄCookieÖµ),header,headerValues(»ñµÃÓû§µÄHttpÊý¾Ý·ÃÎÊÍ·²¿ÐÅÏ¢),ParamºÍParamValues(»ñµÃÓû§Ìá½»Êý¾Ý²ÎÊý)µÈ¡£
ʹÓÃ${Òþº¬¶ÔÏóÃû³Æ["ÔªËØ"]} ¾Í¿ÉÒÔ»ñµÃÕâ¸öÖµÁË,ÀýÈç${header("host")}
¿ÉÒÔÏÔʾhttpÍ·²¿ÖÐhostµÄÖµ,${param("username")},¿ÉÒÔ»ñµÃÏÔʾÓû§±íµ¥Ìá½»µÄÓû§.
ʹÓÃ${empty(param("username")} ¿ÉÒÔÅжÏÓû§Ìá½»±íµ¥ÊÇ·ñΪ¿ÕµÈ¡£(ÕâÑù±Èjsp1.2ÖÐʹÓÃrequest.getParamter("username")
Òª¼ò»¯ºÍ·½±ãºÜ¶àÁË)
Òþº¬¶ÔÏó¼°Òþº¬¶ÔÏó·ÃÎÊʵÀý
- ·ÃÎÊÓ¦ÓóÌÐòÊý¾Ý
³ýÁË¿ÉÒÔ·½±ãµÄ·ÃÎÊÄÚÖõÄÒþº¬¶ÔÏóÍâ,EL»¹¿ÉÒÔ·½±ãµÄµ½Ó¦ÓóÌÐòÊý¾Ý,·ÃÎÊÓ¦ÓóÌÐòÊý¾ÝʹÓÃÁ½ÖÖ·½Ê½ . (µãºÅÔËËã·û)·ÃÎʶÔÏóµÄÊôÐÔ£¬Ò²¿ÉÒÔʹÓÃ[]
À´·ÃÎÊÊý×éÔªËØ(ʵ¼ÊÉÏELÖзÃÎÊÒþº¬¶ÔÏóÊý¾ÝÒ²ÊÇʹÓÃÕâÁ½ÖÖ·½Ê½µÄ) ·ÃÎÊÓ¦ÓóÌÐòʵÀý
±í´ïʽ${data}±íʾÃûΪdataµÄscoped±äÁ¿¡£¿ÉÒÔʹÓõãºÅ£¨.£©»ò·½À¨ºÅ£¨[]£©ÔËËã·û´Ó¼¯ºÏÖмìË÷ÊôÐÔÖµ£º(Á½ÖÖÊý¾Ý·ÃÎÊ·½Ê½ÑÝʾ)
µãºÅÔËËã·ûÓÃÓÚ·ÃÎÊÃüÃûµÄÊôÐÔ£¬±ÈÈç±í´ïʽ${customer.name}±íʾscoped±äÁ¿customerµÄnameÊôÐÔ£»
·½À¨ºÅÔËËã·û¿ÉÓÃÓÚ¼ìË÷ÃüÃûµÄÊôÐÔ£¬±ÈÈçÔÚ${customer[¡°name¡±]}ÖС£Ò²¿ÉÒÔͨ¹ý${customers[0]}µÄÐÎʽÀ´·ÃÎʼ¯ºÏcustomersÖеĵÚÒ»Ïî¡£
EL±í´ïʽÓïÑÔͬʱ»¹Í³Ò»Á˶ԵãºÅºÍ·½À¨ºÅÔËËã·ûµÄ´¦Àí£¬Òò´Ë${customer.name}Óë${customer[¡°name¡±]}Êǵȼ۵ġ£
·ÃÎÊÓ¦ÓóÌÐòÊý¾ÝÐèÒª½øÐÐÒÔϼ¸¸ö²½Ö裺
1.±àдpublicÀàµÄstatic public ·½·¨£¬Ö»ÓÐstatic publicµÄ·½·¨²ÅÄܱ»±ê¼Ç±í´ïÊÔ·ÃÎÊ¡£
2.½«·½·¨Ó³Éäµ½TLD±íÖÐ
3.ÔÚJSPÒ³ÃæÖе÷ÓÃÒªÒýÓõÄTaglib±ê¼Ç,È»ºó¾Í¿ÉÒÔÔÚjspÒ³ÃæÖзÃÎÊÁË¡£
ÉÏÃæ¹ØÓÚEL ±í´ïʽÓïÑԵĽéÉܾÍÔݸæÒ»¸ö¶ÎÂ䣬EL±í´ïʽÊDz»ÊǺܼòµ¥,ºÜ·½±ã? ÏÂÃæµÄҪ˵µÄ²ÅÊÇEL ÏÔʾÆäÕæÕýÍþÁ¦µÄµØ·½--¼òµ¥±ê¼Ç¿âÀ©Õ¹
SimpleTag |
¶þ. ¼òµ¥±êÖ¾¿âÀ©Õ¹ _SimpleTag |
ÔÚjsp1.2Áª´ïÒѾÓбê¼Ç¿âÁË£¬ ²¢ÇÒ¹¦ÄÜÇ¿´ó£¬µ«±ê¼Ç¿âµÄ±à³ÌºÍµ÷Óö¼±È½Ï¸´ÔÓ£¬µ¼ÖÂÕæÕýʹÓõ½WEB¿ª·¢ÖеϹÊDz»¶à¡£JSP2.0ÍÆ³öµÄ¼òµ¥±ê¼Ç¿âÀ©Õ¹½â¾öÁËÒÔÉϵÄÎÊÌâ¡£¼òµ¥±ê¼Ç¿âÏà¶ÔJSP1.2Öеıê¼Ç¿âÀ´Ëµ£¬ÓŵãÔÚÓÚ£º
¶Ôºǫ́³ÌÐòÔ±À´Ëµ£º½á¹¹¸ü¼òµ¥£¬ÊµÏÖ½Ó¿Ú¸üÉÙ£¬¿ÉÒÔÇáËÉʵÏÖºǫ́³ÌÐò
JSP 2.0ÖмÓÈëÁËеĴ´½¨×ÔÖÆ±ê¼ÇµÄAPI£ºjavax.servlet.jsp.tagext.SimpleTag£¬¸ÃAPI¶¨ÒåÁËÓÃÀ´ÊµÏÖ¼òµ¥±ê¼ÇµÄ½Ó¿Ú¡£ºÍJSP
1.2ÖеÄÒÑÓнӿڲ»Í¬µÄÊÇ£¬SimpleTag½Ó¿Ú²»Ê¹ÓÃdoStartTag()ºÍdoEndTag()·½·¨£¬¶øÌṩÁËÒ»¸ö¼òµ¥µÄdoTag()·½·¨¡£Õâ¸ö·½·¨ÔÚµ÷Óøñê¼Çʱֻ±»Ê¹ÓÃÒ»´Î¡£¶øÐèÒªÔÚÒ»¸ö×ÔÖÆ±ê¼ÇÖÐʵÏÖµÄËùÓÐÂß¼¹ý³Ì¡¢Ñ»·ºÍ¶Ô±ê¼ÇÌåµÄÆÀ¹ÀµÈ¶¼ÔÚÕâ¸ö·½·¨ÖÐʵÏÖ¡£´ÓÕâ¸ö·½ÃæÀ´½²£¬SimpleTag¿ÉÒÔºÍIterationTag´ïµ½Í¬µÈµÄ×÷Óᣵ«SimpleTagµÄ·½·¨ºÍ´¦ÀíÖÜÆÚÒª¼òµ¥µÃ¶à¡£ÔÚSimpleTagÖл¹ÓÐÓÃÀ´ÉèÖÃJSPÄÚÈݵÄsetJspBody()ºÍgetJspBody()·½·¨¡£WebÈÝÆ÷»áʹÓÃsetJspBody()·½·¨¶¨ÒåÒ»¸ö´ú±íJSPÄÚÈݵÄJspFragment¶ÔÏó¡£ÊµÏÖSimpleTag±ê¼ÇµÄ³ÌÐò¿ÉÒÔÔÚdoTag·½·¨Öиù¾ÝÐèÒª¶à´Îµ÷ÓÃgetJspBody().invoke()·½·¨ÒÔ´¦ÀíJSPÄÚÈÝ¡£
¶ÔÓÚǰ̨WEBÒ³ÃæÖÆ×÷ÈËÔ±£ºÔÚJSP1.2Áª´ï,TaglibÒ³Ãæµ÷ÓÃʵ¼ÊÉÏÊDZȽϸ´ÔÓµÄ,SimpleTag+EL±í´ïʽÓïÑÔ¼«´óµÄ¼ò»¯ÁËTaglibµ÷ÓÃ,ÕæÕý´ïµ½²»¶®JAVAµÄÈËÔ±Ò²¿ÉÒÔÇáËɱàдJSPÒ³ÃæµÄÄ¿µÄ¡£
- Ò»¸öTaglibÒ³ÃæµÄ±àдºÍµ÷ÓðüÀ¨Èý¸öÁ÷³Ì(¼òµ¥±êÖ¾À©Õ¹ÊµÀý)£º
1. ºǫ́³ÌÐòÔ±±àдҪ±»µ÷ÓõijÌÐò
2. ±à¼Tag±êÖ¾ÃèÊöÎļþ,Õâ¸öÎļþÒª·ÅÔÚWEB-INF\jsp2ÏÂÃæ£¬²¢ÇÒÕâ¸öÎļþÒªÒÔtldΪÎļþ½áβ¡£
3.JSPÒ³ÃæÈËÔ±¾Í¿ÉÒÔÖ±½Óµ÷ÓÃÁË¡£
- ʹÓñêÇ©Îļþ(JSP fragment)£º
ʹÓüòµ¥±êÇ©À©Õ¹»úÖÆµÄÁíÒ»ÖÖ¼òinindex.htmļþ¡£
±êÇ©ÎļþÊÇÒ»ÖÖ×ÊÔ´Îļþ£¬ÍøÒ³×÷Õß¿ÉÒÔÀûÓÃËü³éȡһ¶ÎJSP´úÂ룬ͨ¹ý¶¨Öƹ¦ÄÜÀ´ÊµÏÖ´úÂëµÄ¸´Ó᣻»¾ä»°Ëµ£¬±êÇ©ÎļþÔÊÐíJSPÍøÒ³×÷ÕßʹÓÃJSPÓï·¨´´½¨¿É¸´ÓõıêÇ©¿â¡£±êÇ©ÎļþµÄÀ©Õ¹Ãû±ØÐëÊÇ¡°.tag¡±¡£±íÃæÉϱêÇ©ÎļþÎļþºÍjsp1.2ÖеÄjsp:include
Ö¸ÁîÖеİüº¬ÎļþºÃÏñÊÇÒ»ÑùµÄ,µ«Êµ¼ÊÉÏ»¹ÊÇÓÐһЩ²»Í¬µÄ£¬±êÇ©ÎļþÒ»°ã¹¦ÄܱȽ϶ÌС¼òµ¥¶øÇÒÖØ¸´Ê¹ÓÃÂʸߵÄһЩ´úÂë¡£¿´Ò»¸ö¼òµ¥µÄ±êÇ©Îļþ°É
±êÇ©Îļþ(JSP fragment)µÄ»ù±¾ÌصãÊÇ¿ÉÒÔʹ´¦ÀíJSPµÄÈÝÆ÷ÍÆ³ÙÆÀ¹ÀJSP±ê¼ÇÊôÐÔ¡£ÎÒÃÇÖªµÀÒ»°ãJSPÊÇÊ×ÏÈÆÀ¹ÀJSP±ê¼ÇµÄÊôÐÔ£¬È»ºóÔÚ´¦ÀíJSP±ê¼ÇʱʹÓÃÕâЩÊôÐÔ£¬¶øJSP
fragmentÌṩÁ˶¯Ì¬µÄÊôÐÔ¡£Ò²¾ÍÊÇ˵£¬ÕâЩÊôÐÔÔÚJSP´¦ÀíÆä±ê¼ÇÌåʱÊÇ¿ÉÒÔ±»¸Ä±äµÄ¡£±êÇ©ÎļþÊÇÓÃÎı¾Îļþ¸ñʽ(JSPÓï·¨)ʵÏÖ×ÔÖÆ±ê¼Ç£¬ÕâÒ²ÊÇJSP
2.0µÄÒ»¸öÖ÷Ҫй¦ÄÜ¡£ÎÒÃÇÔÙ¿´Ò»Ï±êÇ©ÎļþµÄ¶¯Ì¬¸´ÓõÄÒ»¸öÀý×Ó
|
ÌåÑéµ½ÁËJSP2.0µÄÐÂÌØÐÔÂð£¿ÊDz»ÊǷdz£·½±ãºÃÓÃ?
ÌáÐÑÄãÒ»ÏÂÉϺ£¹¤Òµ¾¼ÃÍøµÄJSP·þÎñÆ÷Tomcat5.0.xÖ§³ÖÒÔÉÏjsp2.0µÄ¸÷ÖÖÌØÐÔ¡£¸Ï¿ìÀ´ÉϺ£¹¤Òµ¾¼ÃÍøÉêÇëÒ»¸öÖ§³Öjsp2.0µÄJSP¿Õ¼äÌåÑéһϰɡ£ÕâÀï¿ÉÓкܶà¿î¹æ¸ñµÄJSP¿Õ¼äÀ´Âú×ãÄãµÄÐèҪŶ¡£ |
·µ »Ø |
|
|