JSP ÆäÀÌÁö¿¡¼ ÇÊ¿äÇÏ´Ù¸é, ¹Ýº¹ÀûÀÎ ÀÛ¾÷À» À§ÇØ Å±×ÀÇ ¹Ùµð¸¦ ¿©·¯ ¹ø Æ÷ÇÔÇϰųª ó¸®ÇÏ´Â ÅÂ±× ¶óÀ̺귯¸®¸¦ ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ÀÌ·± °ÍÀº ½ÇÁ¦·Î Å×À̺í ÀÛ¼º µî, ¹Ýº¹µÇ´Â °á°ú¸¦ Ãâ·ÂÇØ¾ß ÇÏ´Â °÷¿¡ À¯¿ëÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð ¹Ýº¹µÇ´Â Ƚ¼ö¿Í ó¸® ¹æ¹ý µîµµ Á¶Á¤ÇØ ÁÙ ¼ö ÀÖ½À´Ï´Ù.
Áö±Ý±îÁö´Â ÅÂ±× Çڵ鷯 Ŭ·¡½º¸¦ ¸¸µé±â À§Çؼ Tag ÀÎÅÍÆäÀ̽º³ª ±×°ÍÀ» ±¸ÇöÇÑ TagSupport ÀÎÅÍÆäÀ̽º »ç¿ëÇß½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ·± Ŭ·¡½ºµéÀº ºñ±³Àû °£´ÜÇÑ Å±׸¦ ¸¸µå´Â µ¥´Â ½±°í À¯¿ëÇÏ°Ô ¾²ÀÏ ¼ö ÀÖÁö¸¸, Áö±Ý »ìÆìº¸´Â Body¸¦ ¿©·¯ ¹ø ¹Ýº¹ÀûÀ¸·Î Æ÷ÇÔÇϴ ű×ÀÇ Çڵ鷯¸¦ ¸¸µé±â´Â ºÎÀûÀýÇÕ´Ï´Ù. ÀÌ·± Body ³»¿ë¿¡ °ü·ÃµÈ Á»´õ º¹ÀâÇÑ ÅÂ±× ÀÛ¾÷À» À§Çؼ Á¦°øÇØ ÁÖ´Â °ÍÀÌ BodyTag ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí, TagSupport Ŭ·¡½º¸¦ »ó¼ÓÇÑ °·ÂÇÑ BodyTagSupport Ŭ·¡½ºÀÔ´Ï´Ù. ¿©±â¼´Â ÀÌ BodyTagSupport Ŭ·¡½º¸¦ È®ÀåÇØ¼ ÅÂ±× Çڵ鷯¸¦ ¸¸µé¾î º¸°Ú½À´Ï´Ù.
´ÙÀ½ÀÇ ¿¹Á¦´Â °£´ÜÇÑ ¹ÙµðÀÇ ¸Þ½ÃÁö¸¦ ¿©·¯ ¹ø Ãâ·ÂÇØÁִ ű׸¦ À§ÇÑ Çڵ鷯ÀÔ´Ï´Ù.
|
RepeatBody.java |
¹Ùµð¸¦ ¿©·¯¹ø Ãâ·ÂÇÏ´Â ÅÂ±× Çڵ鷯 |
|
| |
|
C:\jakarta\webapps\MySample\WEB-INF\classes\tags>javac RepeatBody.java | |
Body¸¦ ¿©·¯ ¹ø Ãâ·ÂÇϱâ À§Çؼ BodyTagSupportŬ·¡½º¸¦ »ó¼Ó¹Þ¾Ò½À´Ï´Ù.
n public class RepeatBody extends BodyTagSupport
ÅÂ±× Å¬·¡½º¸¦ ¸¸µé±â À§Çؼ´Â doStartTag¿Í doEnd ¸Þ¼µåÀÇ ±¸ÇöÀÌ ÇÊ¿äÇÏÁö¸¸, ¿©±â¼´Â »ó¼Ó¹ÞÀº BodyTagSuppoert Ŭ·¡½º°¡ ±¸ÇöÇØ ³õÀº °ÍÀ» ÀçÁ¤ÀÇÇÒ Çʿ䰡 ¾øÀ¸¹Ç·Î ½Å°æ¾²Áö ¾Ê°í, ´ÜÁö °¡Àå Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ´Â doAfterBody ¸Þ¼µå¸¸À» ÀçÁ¤ÀÇÇÏ¿© ¹Ýº¹¿¡ °üÇÑ °ÍÀ» ó¸®ÇØ ÁÖ¾ú½À´Ï´Ù.
doAfterBody ¸Þ¼µå¸¦ Çѹø ´õ ¼³¸íÇÏÀÚ¸é, ÅÂ±× ¹Ùµð¸¦ ´Ù·ç±â À§Çؼ ¹Ýµå½Ã ÀçÁ¤ÀÇ ÇØ¾ß ÇÒ ¸Þ¼µå·Î¼, ±× ³»ºÎ¿¡¼ ³»¿ëó¸®, ¹Ýº¹ µîÀÇ ÀÛ¾÷À» ÇÏ°í °á°ú·Î´Â º¸Åë SKIP_BODY¸¦ ¸®ÅÏ ÇØ¼ ¹Ùµð°¡ ´õ ÀÌ»ó 󸮵ÇÁö ¾Êµµ·Ï ÇÕ´Ï´Ù.
n public int doAfterBody(){
n try{
n JspWriter out = getPreviousOut();
n BodyContent body = getBodyContent();
n String contents = body.getString();
n for(int i = 0; i<repeat; i ++){
n out.print(i+contents+"<br>");
n }
n }catch(Exception e){}
n return SKIP_BODY;
n }
¿©±â¼´Â BodyContent °´Ã¼·Î BodyÀÇ ³»¿ëÀ» ¾ò¾î¼ repeat ¼Ó¼ºÀ¸·Î ³Ñ¾î¿Â °ª ¸¸Å ¹Ýº¹Çؼ Ãâ·ÂÇØ ÁØ ÈÄ SKIP_BODY¸¦ ¸®ÅÏÇϰí ÀÖ½À´Ï´Ù.
´ÙÀ½Àº Ãß°¡µÈ TLD¸¦ »ìÆìº¸°Ú½À´Ï´Ù.
|
noveltag.tld |
|
|
repeat¶õ À̸§À¸·Î tags.RepeatBody Ŭ·¡½º¸¦ µî·ÏÇϰí ÀÖ½À´Ï´Ù. ±×·³ Ä¿½ºÅÒ Å±׸¦ »ç¿ëÇÏ´Â JSP¸¦ º¸°Ú½À´Ï´Ù.
|
repeatbody.jsp |
Body ³»¿ëÀ» ¹Ýº¹ÇÏ´Â Ä¿½ºÅÒ Å±×ÀÇ JSP |
|
| |
|
| |
°á°ú¸¦ º¸½Ã¸é Body ³»ÀÇ ¹®ÀÚ¿ÀÌ repeat·Î Á¤ÇÑ ¼ö¸¸Å 10¹ø Ãâ·ÂµÇ¾úÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºJSP2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |