|
JSP Tag Library
kenu
2001-08-27 2:04¿ÀÀü |
|
JSP Tag Library ¶õ custom tag ¸¦ ¸¸µé¾î¼ »ç¿ëÇÏ´Â JSP ÀÇ °í±Þ±â¼úÀ̶ó°í ÇÒ ¼ö ÀÖ´Â °Í ÁßÀÇ ÇϳªÀÔ´Ï´Ù. Bean º¸´Ù ÁøÀϺ¸µÈ °³³äÀ¸·Î MVC(Model View Control) À» ¿Ïº®ÇÏ°Ô ±¸ÇöÇØÁÝ´Ï´Ù. ![]() |
|
<% %> ¸¦ »ç¿ëÇÏÁö ¾Ê°íµµ µ¿ÀûÀΠǥÇöÀ» °¡´ÉÇÏ°Ô ÇϹǷΠ¼Ò½ºÄڵ忡 ´ëÇØ¼ µðÀÚÀ̳ʰ¡ º¸´Ù ½±°Ô Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù. (^^ ¾ÆÁ÷ Àúµµ ½Ç¹«¿¡ Àû¿ëÇØº¸Áø ¾Ê¾Ò½À´Ï´Ù.) ![]() |
|
¾ÆÁ÷ Àúµµ ½Ç·ÂÀÌ ¹ÌõÇÑ °ü°è·Î, Ã¥º¸°í °øºÎÇÑ °ÍÀ» Á¤¸® °â ÇØ¼ ½äÀ» Ç®¾îº¸°Ú½À´Ï´Ù. »ç½Ç ¼Ò½º ¼³¸íº¸´Ù´Â ÆÄÀÏ À§Ä¡¸¸ ¾Ë·ÁÁÖ´Â Á¤µµÀÏ °ÍÀÌ´Ï ³Ê¹« ±â´ë´Â ÇÏÁö¸¶¼¼¿ä. ![]() |
|
ÀÏ´Ü jsp tag library ¸¦ »ç¿ëÇϽ÷Á¸é jsp ¿£ÁøÀÌ jsp spec 1.1 ÀÌ»óÀ̾î¾ß ÇÕ´Ï´Ù. jsp 1.0 Àº tag library ¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ °Á¸¦ Å×½ºÆ®ÇÑ jsp ¿£ÁøÀº Tomcat 3.2.3 ÀÔ´Ï´Ù. ![]() |
|
±âÃÊÀûÀÎ ´Ü°è·Î tag ¸¦ ÀÌ¿ëÇØ¼ ´Ü¼øÈ÷ text ¸¦ Ãâ·ÂÇÏ´Â °ÍÀ» ½ÃµµÇغ¸°Ú½À´Ï´Ù. ¼Ò½ºÀÇ Ãâó´Â ManningÃâÆÇ»ç¿¡¼ ³ª¿Â JSP Tag Libraries Ã¥ chapter3 ÀÔ´Ï´Ù. Á¦°¡ °æ·Î¶û text¸¦ ¾à°£ ¼öÁ¤ÇÑ °ÍÀÔ´Ï´Ù. ![]() |
|
ÀÏ´Ü tag handler class ´Â java ÆÄÀÏÀε¥, javax.servlet.jsp.* À» import Çϱ⠶§¹®¿¡ servlet.jar ÆÄÀÏÀÌ classpath ¿¡ ÀâÇôÀÖ¾î¾ß ÇÕ´Ï´Ù. resin ÀÏ °æ¿ì jsdk22.jar ³ª jsdk23.jar ÆÄÀÏÀÌ »óÀÀÇÕ´Ï´Ù. jakarta-tomcat/lib/ µð·ºÅ丮¿¡ ÀÖ´Â servlet.jar ÆÄÀÏÀ» ´ÙÀ½ À§Ä¡·Î º¹»çÇØÁÝ´Ï´Ù. ±ÇÀåÀº ½Ã½ºÅÛ ÀçºÎÆÃÀÔ´Ï´Ù. ¾ÈÇØµµ ¸ÔÈ÷´Â °æ¿ì°¡ ÀÖÁö¸¸, ^^; ¾îµð±îÁö³ª ±ÇÀåÀÔ´Ï´Ù. ´Ù¸¥ ¹æ¹ýÀº ȯ°æº¯¼ö(classpath)¿¡ Ãß°¡Çصµ µÇ°ÚÁö¸¸ Àü ÀÌ ¹æ¹ýÀ» ´õ ¼±È£ÇÕ´Ï´Ù. ÆíÇϴϱî¿ä. ¾î´À À§Ä¡³Ä Çϸé jdk1.3/jre/lib/ext ¾Æ·¡ÀÔ´Ï´Ù. ![]() |
|
tag handler class ÀÎ OkTag.java ÆÄÀÏÀÔ´Ï´Ù. tag ¸¦ ó¸®(handle)ÇØÁÖ´Â °ÍÀÌÁÒ. ÆÄÀÏÀÇ À§Ä¡´Â package ¿Í °ü°èÀÖ½À´Ï´Ù. ¹°·Ð classpath ¿¡ ÀÚ½ÅÀÌ ÀÖÀ¸½Å ºÐµéÀº ÀÚÀ¯·Ó°Ô À§Ä¡½ÃÄÑÁÖ¼¼¿ä. ¾Æ´Ñ ºÐµéÀº Àý µû¶ó¿À½Ã±¸¿ä. ÀÏ´Ü ROOT µð·ºÅ丮°¡ c:/jakarta-tomcat/webapps/ROOT ¶ó°í °¡Á¤Çϰí À̰ÍÀº / ·Î Ç¥½Ã¸¦ ÇϰڽÀ´Ï´Ù. /WEB-INF ´Â c:/jakarta-tomcat/webapps/ROOT/WEB-INF ¿Í °°Àº ¶æÀÔ´Ï´Ù. (^^; »ç½Ç °æ·Î ºÎºÐ ¼³¸íÇϱⰡ Á¦ÀÏ Èûµì´Ï´Ù.) ÀÌ ¼Ò½º¸¦ /WEB-INF/classes/ok/tag/OkTag.java À§Ä¡¿¡ ÀúÀåÇÕ´Ï´Ù.
OkTag.java
![]() |
|
¾ÆÁÖ °¡Àå ±âº»ÀûÀÎ tag handler ÀÔ´Ï´Ù. ÀÌ »À´ë¸¦ °®°í Á¡ÁøÀûÀ¸·Î È®ÀåÀ» ÇÏ¸é¼ ÄÚµùÀ» ÇÏ°Ô µÇÁÒ. ±âÃʶó´Â ¾ê±â´Â ¾ÆÁÖ ½±´Ù¶õ ¶æµµ ÀÖÁö¸¸, ¾ø¾î¼´Â ¾ÈµÈ´Ù´Â ¶æµµ °®°í ÀÖ½À´Ï´Ù. ÄÚµå Çϳª Çϳª¸¦ ´«¿©°Ü º¸½Ã¸é µË´Ï´Ù. ¹¹ ±»ÀÌ ¿Ü¿ï ÇÊ¿ä±îÁö´Â... ¿Ö³ÄÇϸé 3¹øÀÌ»ó ¹Ýº¹Çϸé ÀúÀý·Î ¿Ü¿öÁö°Ô µË´Ï´Ù.(*_*; õÀç³Ä±¸¿ä? ¿½ Àú´Â õÀç, ÆÜ# Å©Çä#$%#$,~ T_T; ÀÚ²Ù »ç¿ëÇϸé ÀúÀý·Î ¿Ü¿öÁø´Ù´Â ¶æÀÓ´Ù. ±×°Ô ¿Í¶¡´Ï´Ù.) ![]() |
|
ÄÄÆÄÀÏÀº µµ½ºÃ¢(cmd â) ¶ç¿ì°í cd c:/jakarta-tomcat/webapps/WEB-INF/classes/ok/tag ·Î °¡¼, javac OkTag.java ÇÏ½Ã¸é µË´Ï´Ù. ![]() |
|
´ÙÀ½¿¡ ÇÊ¿äÇÑ ÆÄÀÏÀº tld(Tag Library Descriptor) ¼³¸íÆÄÀÏÀÔ´Ï´Ù. tag handler fileÀÇ À§Ä¡¿Í ÇÊ¿äÇÑ ¼Ó¼ºµéÀ» ¼³¸íÇØÁÖ´Â ÆÄÀÏÀÌÁÒ. jsp ¿£ÁøÀ¸·Î ÇÏ¿©±Ý tag handler ¸¦ »¡¸® ÀνÄÇϵµ·Ï ÇØÁÖ´Â ¿ªÇÒÀ» ÇÏ´Â ÆÄÀÏÀÔ´Ï´Ù. ¼Ò½ºÀÇ ¹®¹ýÀº xml ÀÔ´Ï´Ù. ¾î~ Àú±â °¡Áö¸¶¼¼¿ä. xml º°·Î ¾î·Á¿î °Å ¾Æ´Ï´Ï±î¿ä. ¾ÆÁÖ ±âº»ÀûÀÎ xml ±ÔÄ¢¸¸ ¾Ë°í ÀÖÀ¸¸é µË´Ï´Ù. ±×°Å º°°Å ¾ø½¿´Ù. 20ÁÙµµ ¾ÈµÊ´Ù. °íÀú ¿ì¸® ¿¬º¯¿¡¼´Â 20ÁÙÂ¥¸® tld´Â tld Ãà¿¡µµ ¸ø³§´Ï´Ù. 100ÁÙÂ¥¸® Á¤µµ µÇ¾ß Á» ¾µ¸¸ÇÑ tld ±¸³ª¶ó°í »ý°¢ÇÕ´Ï´Ù. 10000ÁÙÂ¥¸® tld ÆÄÀÏ º¸¼Ì½¿´Ï±î. ÆÜ#@#$#!@ (^^; Á˼ÛÇÕ´Ï´Ù. ¼ö´Ù¸ÇÀÌ ¿äÁò ³Ê¹« ÁÁ¾Æ¼¸®... Á» µû¶óÇØºÃ½À´Ï´Ù.) ![]() |
oktags.tld
![]() |
|
´ÙÀ½¿¡ ÇÊ¿äÇÑ ÆÄÀÏÀº tld(Tag Library Descriptor) ¼³¸íÆÄÀÏÀÔ´Ï´Ù. tag handler fileÀÇ À§Ä¡¿Í ÇÊ¿äÇÑ ¼Ó¼ºµéÀ» ¼³¸íÇØÁÖ´Â ÆÄÀÏÀÌÁÒ. ¶ÇÇÑ jsp ¼Ò½º¿¡¼ »ç¿ëµÇ´Â À̸§À» ÁöÁ¤ÇØÁÝ´Ï´Ù. oktag ¶ó´Â tag¸¦ »ç¿ëÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. ¼Ò½ºÀÇ ¹®¹ýÀº xml ÀÔ´Ï´Ù. ¾î~ Àú±â °¡Áö¸¶¼¼¿ä. xml º°·Î ¾î·Á¿î °Å ¾Æ´Ï´Ï±î¿ä. ¾ÆÁÖ ±âº»ÀûÀÎ xml ±ÔÄ¢¸¸ ¾Ë°í ÀÖÀ¸¸é µË´Ï´Ù. ±×°Å º°°Å ¾ø½¿´Ù. 20ÁÙµµ ¾ÈµÊ´Ù. °íÀú ¿ì¸® ¿¬º¯¿¡¼´Â 20ÁÙÂ¥¸® tld´Â tld Ãà¿¡µµ ¸ø³§´Ï´Ù. 100ÁÙÂ¥¸® Á¤µµ µÇ¾ß "Á» ¾µ¸¸ÇÑ tld ±¸³ª"¶ó°íµé ¸» ÇÕ´Ï´Ù. 10000ÁÙÂ¥¸® tld ÆÄÀÏ º¸¼Ì½¿´Ï±î. ÆÜ#@#$#!@ (^^; Á˼ÛÇÕ´Ï´Ù. ¼ö´Ù¸ÇÀÌ ¿äÁò ³Ê¹« ÁÁ¾Æ¼¸®... Á» µû¶óÇØºÃ½À´Ï´Ù.). ÆÄÀÏÀÇ À§Ä¡´Â /WEB-INF/oktags.tld ÀÔ´Ï´Ù. ![]() |
|
ÆÄÀÏÀÇ À§Ä¡´Â /WEB-INF/web.xml ÀÔ´Ï´Ù. ¹®¼ÀÇ ¸Ç ùÁÙÀº ¹Ýµå½Ã <?xml version="1.0" encoding="ISO-8859-1"?> ·Î ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù. ÀÌ À¥ xmlÀº tld ÆÄÀÏÀ» jsp ¿£Áø ÇÏ¿©±Ý tag handler ¸¦ »¡¸® ÀνÄÇϵµ·Ï ÇØÁÖ´Â ¿ªÇÒÀ» ÇÏ´Â ÆÄÀÏÀÔ´Ï´Ù. <taglib-uri> ¿¡ °üÇØ¼´Â jsp ¼Ò½º¿¡¼ ÁöÁ¤ÇÏ´Â uri¿Í ¸Â¾Æ¾ßÇÕ´Ï´Ù¸¸ ÇöÀç·Î¼´Â Àúµµ ¸íÈ®ÇÏ°Ô ÀÌÇØ¸¦ ÇÏÁö ¾ÊÀº ºÎºÐÀÔ´Ï´Ù.
web.xml
![]() |
|
ÀÌ»ó 3°³ÀÇ ÆÄÀÏÀ» »ç¿ëÇÏ´Â jsp ÆÄÀÏÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÀÌ ÆÄÀÏÀ» /jsptag.jsp ·Î ÀúÀå( / µð·ºÅ丮)ÇÑ ´ÙÀ½¿¡ ºê¶ó¿ìÀú¿¡¼ http://localhost/jsptag.jsp ¸¦ È£ÃâÇØ º¸½Ê½Ã¿À.
jsptag.jsp
![]() |
|
¼º°øÇϼ̴ٸé Âü Àß µÇ¾ú½À´Ï´Ù¸¸, ¸¸ÀÏ Á¦´ë·Î ÄÄÆÄÀÏÀÌ µÇÁö ¾Ê°Å³ª ½ÇÇàÀÌ ¾ÈµÈ´Ù¸é ¸Þ½ÃÁö º¸½Ã°í, Àß Ç®¾î°¡¼¼¿ä. ¿À´ÃÀº ÀÌÁ¤µµ¿¡¼ ±×¸¸ÇϰڽÀ´Ï´Ù. tips ¿¡ ¿Ã¸° oktag.zip ÆÄÀÏÀ» °®°í Å×½ºÆ® ÇØº¸½Ê½Ã¿À. ![]() |
|
°ü·Ã »çÀÌÆ® |
| xml-typed document http://okjsp.pe.kr |