¼Ò¼³°°ÀºJSP2ºÎ  7Àå Custom Tag & JavaMail  04 ÅÂ±× ¶óÀ̺귯¸® ¼­¼úÆÄÀÏ  

 

7.4 ÅÂ±× ¶óÀ̺귯¸® ¼­¼úÆÄÀÏ(Tag Library Descriptor TLD)

 

¾Õ¿¡¼­¿Í °°ÀÌ ÅÂ±× Çڵ鷯¸¦ ¸¸µé¾úÀ¸¸é, ±× Ŭ·¡½º¸¦ TLD(Tag Library Descriptor)¿¡ µî·ÏÇØ¾ß ÇÕ´Ï´Ù. ¾Õ¿¡¼­µµ ¼³¸íÇßµíÀÌ TLD´Â XMLű×ÀÇ À̸§¿¡ ÅÂ±× Çڵ鷯¸¦ ¿¬°ü½ÃÄѼ­ ƯÁ¤Å±װ¡ È£ÃâµÉ ¶§ ±×¿¡ ¸Â´Â ÅÂ±× Çڵ鷯¸¦ »ç¿ëÇϵµ·Ï ¼­¹ö¿¡°Ô ¾Ë·ÁÁÖ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. TLD ÆÄÀÏÀº XML ¹®¼­·Î ÀÛ¼ºµÇ¸ç, ¶óÀ̺귯¸®¿¡ ´ëÇÑ ¼³¸í ¹× Á¤º¸, ű×ÀÇ Á¤º¸µé·Î ÀÌ·ç¾îÁý´Ï´Ù. ±×·³ ¾Õ¿¡¼­ ÀÛ¼ºÇÑ ÅÂ±× Çڵ鷯¸¦ ó¸®ÇØ ÁÖ´Â °£´ÜÇÑ TLD¸¦ »ìÆìº¸°í °è¼Ó ¼³¸í µå¸®°Ú½À´Ï´Ù.

 

noveltag.tld

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
  "http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>
  <tlib-version>1.0</tlib-version>
  <jsp-version>1.2</jsp-version>
  <short-name>noveljsp</short-name>
  <uri></uri>
  <description>
  novel jsp simple Hello Tag
  </description>
  <tag>
    <name>hello</name>
    <tag-class>tags.HelloTag</tag-class>
    <description>say Hello~ </description>
  </tag>   
</taglib>

 

º¸´Ù½ÃÇÇ TLD ÆÄÀÏÀº XML Ç¥ÁØÀ» µû¸£´Â XML ¹®¼­ÀÔ´Ï´Ù. XML ¹öÀüÀ» Á¤ÀÇÇØ ÁÖ°í, DOCTYPEÀ» ÁöÁ¤ÇÏ´Â ºÎºÐ µîÀº ¸ðµç TLD ÆÄÀÏ¿¡¼­ ¶È°°À¸´Ï Çϳª¸¸ ¸¸µé¾î¼­ Àç»ç¿ëÇÏ´øÁö, ÅèĹÀÇ example Æú´õ¿¡ ÀÖ´Â °ÍÀ» »ç¿ëÇÏ¸é µË´Ï´Ù.

 

ÅÂ±× ¶óÀ̺귯¸® ¼­¼ú ÆÄÀÏÀº À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¾î´À °÷¿¡ À§Ä¡Çصµ »ó°ü¾øÁö¸¸, º¸Åë °ü¸®°¡ ÆíÇÏ°Ô Çϱâ À§Çؼ­ JSP ÆÄÀϰú °°Àº µð·ºÅ丮¿¡ À§Ä¡½Ãŵ´Ï´Ù. ±×¸®°í ±× ÅÂ±× ¶óÀ̺귯¸® ¼­¼úÆÄÀÏÀÌ °¡¸®Å°´Â ÅÂ±× Çڵ鷯´Â classes Æú´õ¾Æ·¡¿¡ ÆÐŰÁö ÇüÅ·Π¸¸µé¾îµÎ¾î¾ß ÇÕ´Ï´Ù.

 

À§¿¡¼­ º¸µí TLD¿¡¼­ ÃÖ»óÀ§ÀÇ ¿¤¸®¸ÕÆ®(element)´Â <taglib>¿¤¸®¸ÕÆ®ÀÔ´Ï´Ù. ±×¸®°í ±× ÇÏÀ§·Î 6°³ÀÇ ¿¤¸®¸ÕÆ®°¡ Àִµ¥ ±×°ÍÀ» Á¤¸®ÇØ º¸¸é ´ÙÀ½°ú °°½À´Ï´Ù.

 

<taglib>¿¤¸®¸ÕÆ®ÀÇ ÇÏÀ§ ¿¤¸®¸ÕÆ®µé

<tlibversion> : ÅÂ±× ¶óÀ̺귯¸®ÀÇ ¹öÀüÀ» Ç¥½ÃÇÕ´Ï´Ù.

<jspversion> : ÅÂ±× ¶óÀ̺귯¸®°¡ »ç¿ëÇÏ´Â JSPÀÇ ¹öÀüÀ» Ç¥½ÃÇÕ´Ï´Ù.

<shortname> : ÅÂ±× ¶óÀ̺귯¸®ÀÇ º°¸íÀ» ³ªÅ¸³»¸ç, ÄÁÅ×À̳ʵ¼­ ¾²ÀÌ°Ô µË´Ï´Ù.

<uri>        : ÅÂ±× ¶óÀ̺귯¸®¿¡ ´ëÇÑ Ãß°¡ÀûÀÎ URLÀ» ³ªÅ¸³»¸ç »ý·«Çصµ µË´Ï´Ù.

<description>: ÅÂ±× ¶óÀ̺귯¸®¿¡ ´ëÇÑ °£´ÜÇÑ Á¤º¸¸¦ ±â¼úÇÕ´Ï´Ù.

<tag>       :  ÅÂ±× ¶óÀ̺귯¸®¿¡¼­ ÇϳªÀÇ µ¿ÀÛÀ» ÀǹÌÇÕ´Ï´Ù.

 

 ÀÌÁß¿¡¼­µµ °¡Àå ´« ¿©°Ü º¸¾Æ¾ß ÇÒ °ÍÀÌ <tag>¿¤¸®¸ÕÆ®·Î¼­ À̰ÍÀ» ÅëÇÏ¿© °¢ Ä¿½ºÅÒ Å±×ÀÇ ¼Ó¼ºÀ» ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. <tag>¿¤¸®¸ÕÆ®´Â ´Ù½Ã ¿©¼¸ °³ÀÇ ÇÏÀ§ ¿¤¸®¸ÕÆ®¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù.

 

<tag>¿¤¸®¸ÕÆ®ÀÇ ÇÏÀ§ ¿¤¸®¸ÕÆ®µé

<name>

<tagclass>

 

<teiclass>

<bodycontent>

 

 

<description>

<attribute>

 

<name>

<required>

<rtexprvalue>

: ű×ÀÇ ½Äº°Àڷμ­, Ä¿½ºÅÒ Å±×ÀÇ À̸§À» ¼³Á¤ÇÕ´Ï´Ù.

: ÅÂ±× Çڵ鷯   : Ŭ·¡½º¸¦ ¸í½ÃÇÕ´Ï´Ù. ÁÖÀÇÇØ¾ß ÇÒ Á¡Àº ÆÐŰÁö¸¦ Æ÷ÇÔÇÑ Å¬·¡½º À̸§ Àüü¸¦ ¸í½ÃÇØ¾ß µÈ´Ù´Â °ÍÀÔ´Ï´Ù.

: HelperŬ·¡½º¸¦ ¸í½ÃÇÕ´Ï´Ù. »ý·«Çصµ µË´Ï´Ù.

: bodyŸÀÔÀ» ÁöÁ¤ÇÏ´Â °ÍÀ¸·Î, º»Ã¼°¡ ¾øÀ¸¸é EMPTY, ÅÂ±× Çڵ鷯°¡

Á÷Á¢ º»Ã¼¸¦ ó¸®Çϸé TAGDEPENDENT ±×¸®°í JSP°¡ ÇØ¼®ÇÒ º»Ã¼¸é JSP¸¦½á ÁÝ´Ï´Ù.

: ű׿¡ ´ëÇÑ °£´ÜÇÑ Á¤º¸¸¦ ±â¼úÇÕ´Ï´Ù.

: űװ¡ ¼Ó¼ºÀ» °¡Áö°Ô µÉ °æ¿ì ÁöÁ¤ÇÕ´Ï´Ù.ÇÏÀ§·Î ´ÙÀ½ÀÇ ¼¼°¡Áö

  ¿¤¸®¸ÕÆ®¸¦ °¡Áý´Ï´Ù.

: ¼Ó¼ºÀÇ À̸§À» Á¤ÀÇ

: Ä¿½ºÅÒ Å±׿¡ À̼ӼºÀÌ ¹Ýµå½Ã ÇÊ¿äÇÑÁö(true) »ý·«°¡´ÉÇÑÁö(false) °áÁ¤

: <%= Ç¥Çö½Ä %>À¸·Î ¼Ó¼ºÀÌ ¼³Á¤µÉ ¼ö ÀÖ´ÂÁö °áÁ¤. ±âº»°ªÀº falseÀÌ¸ç »ý·« °¡´É

 

ÀÌ»óÀÇ ¿¤¸®¸ÕÆ®µé¿¡ ´ëÇÑ ¼³¸íÀ» ¹ÙÅÁÀ¸·Î À§¿¡¼­ ¸¸µé¾î³õÀº novletag.tld ÆÄÀÏÀ» º¸¸é, hellotag°¡ È£ÃâµÇ¾úÀ» ¶§ ±×°ÍÀ» tags.HelloTag Ŭ·¡½º Áï, ÅÂ±× Çڵ鷯·Î º¸³»¾î ó¸®Ç϶ó´Â °ÍÀÔ´Ï´Ù.  ±×·³ À̰͵éÀ» ¹ÙÅÁÀ¸·Î ´ÙÀ½¿¡´Â JSP¿¡¼­ ¸¸µé¾î ³õÀº Ä¿½ºÅÒ Å±׵éÀ» Á÷Á¢ »ç¿ëÇØ º¸°Ú½À´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºJSP2ºÎ
ÀúÀÚ:ÃÖ¿µ°ü