![](https://icon.softwaresea.com/48x48/5/34/1016515.23017309d8d4207760d40ebf826017fe.gif)
![]() | ÇÁ¸® ÇðÄ¿ÅÛÇø´ ¿£Áø. |
Áö±Ý ´Ù¿î·Îµå |
ÇÁ¸® ÇðÄ¿ ¼øÀ§ ¹× ¿ä¾à
±¤°í
ÇÁ¸® ÇðÄ¿ ű×
ÇÁ¸® ÇðÄ¿ ¼³¸í
ÅÛÇø´ ¿£Áø. ÇÁ¸® ¸¶Ä¿´Â "ÅÛÇø´ ¿£Áø"ÀÔ´Ï´Ù; ÀϹÝÀûÀÎ µµ±¸´Â ÅÛÇø´À» ±â¹ÝÀ¸·Î (ÀÚµ¿ »ý¼º µÈ ¼Ò½º Äڵ忡 HTML¿¡¼ ¾Æ¹«°Íµµ) ÅؽºÆ® Ãâ·ÂÀ» »ý¼ºÇÕ´Ï´Ù. ÇÁ¸® ¸¶Ä¿´Â Java ÆÐÅ°Áö, ÀÚ¹Ù ÇÁ·Î±×·¡¸Ó¸¦À§ÇÑ Å¬·¡½º ¶óÀ̺귯¸®ÀÔ´Ï´Ù. ±×°ÍÀº ±× ÀÚü·Î ÃÖÁ¾ »ç¿ëÀÚ ÀÀ¿ë ÇÁ·Î±×·¥ ¾Æ´ÏÁö¸¸, ÇÁ·Î±×·¡¸Ó°¡ ÀÚ½ÅÀÇ products.FreeMarker¿¡ »ðÀÔ ÇÒ ¼öÀÖ´Â ¹º°¡°¡ ƯÈ÷ MVC (¸ðµ¨ ºä ÄÁÆ®·Ñ·¯) ÆÐÅÏ ´ÙÀ½ ¼ºí¸´ ±â¹Ý ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ HTML À¥ ÆäÀÌÁöÀÇ »ý¼ºÀ»À§ÇÑ ½Ç¿ëÀû ¼³°è . µ¿Àû À¥ ÆäÀÌÁö¿¡ ´ëÇÑ MVC ÆÐÅÏÀ» »ç¿ëÇÏ¿© µÚ¿¡ ¾ÆÀ̵ð¾î´Â ´ç½ÅÀÌ programmers.Everybody¿¡¼ µðÀÚÀÌ³Ê (HTML ÀÛ¼ºÀÚ)°¡ Àß ¾î¶² ÀÛµ¿ ºÐ¸®ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ¾ÖÇø®ÄÉÀÌ¼Ç ·ÎÁ÷ (ÀÚ¹Ù ÇÁ·Î±×·¥) ¹× ÆäÀÌÁö µðÀÚÀÎ (ÇÁ¸® ¸¶Ä¿ ÅÛÇø´) º¹ÀâÇÑ ÇÁ·Î±×·¥ Á¶°¢À¸·Î ¿À¿°À̵ÇÁö ¾Ê´Â separated.Templates ¶§¹®¿¡ µðÀÚÀ̳Ê, º¯°æ ¶Ç´Â Àç ÄÄÆÄÀÏ Äڵ带 °¡Áø ÇÁ·Î±×·¡¸Ó¾øÀÌ ÆäÀÌÁöÀÇ ¸ð¾çÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸íÈ®ÇÏ°í ½±°Ô maintainable.Although ÇÁ¸® ¸¶Ä¿´Â ¾à°£ÀÇ ÇÁ·Î±×·¡¹Ö ±â´ÉÀÌÀÖ´Â ÀÀ¿ë ÇÁ·Î±×·¥À» À¯ÁöÇÏ´Â µ¥ µµ¿òÀÌ Àֱ⠶§¹®¿¡ ÀÌ·¯ÇÑ ºÐ¸®´Â PHP¿Í °°Àº º»°ÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ¾Æ´Õ´Ï´Ù, ½ÉÁö¾î´Â ÇÁ·Î±×·¡¸Ó¿Í HMTL ÆäÀÌÁö ÀÛ¼ºÀÚ°¡ °°Àº »ç¶÷ÀÌ´Ù ÇÁ·ÎÁ§Æ®¿¡ À¯¿ëÇÕ´Ï´Ù. ´ë½Å, ÀÚ¹Ù ÇÁ·Î±×·¥Àº µ¥ÀÌÅ͸¦ Ç¥½Ã ÇÒ ÁغñÇÏ°í ÇÁ¸® ¸¶Ä¿´Â templates.FreeMarker À¥ ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·¹ÀÓ ¿öÅ© ¾Æ´Õ´Ï´Ù »ç¿ëÇÏ¿© ÁغñµÈ µ¥ÀÌÅ͸¦ Ç¥½Ã ÅؽºÆ® ÆäÀÌÁö¸¦ »ý¼ºÇÕ´Ï´Ù. ÀÌ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·¹ÀÓ ¿öÅ©ÀÇ ±¸¼º ¿ä¼Ò¿¡ ÀûÇÕÇÏÁö¸¸, ÇÁ¸® ¸¶Ä¿ ¿£Áø ÀÚü´Â HTTP ¶Ç´Â ¼ºí¸´¿¡ ´ëÇØ ¾Æ¹«°Íµµ ¸ð¸¥´Ù. ±×°ÍÀº ´Ü¼øÈ÷ ¿Ïº®ÇÏ°Ô ºñ - À¥ ¾ÖÇø®ÄÉÀÌ¼Ç È¯°æ¿¡¼ »ç¿ëÇÒ»Ó¸¸ ¾Æ´Ï¶óÀÌ´Ù, °°Àº text.As¸¦ »ý¼ºÇÕ´Ï´Ù. Âü°í ±×·¯³ª, ¿ì¸®´Â ¶ÇÇÑ ´ç½ÅÀÌ ÅÛÇø´¿¡¼ÀÇ JSP ÅÂ±× ¶óÀ̺귯¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¸ðµ¨ÀÌ ÇÁ·¹ÀÓ ¿öÅ© (¿¹¸¦ µé¾î, ½ºÆ®·µÃ÷)ÀÇ ºä ±¸¼º ¿ä¼Ò·Î ÇÁ¸® ¸¶Ä¿¸¦ »ç¿ëÇÏ´Â ¾Æ¿ô - ¿Àºê - ¹Ú½º ¼Ö·ç¼ÇÀ» Á¦°øÇÏ´Â. ¿©±â¿¡ "ÇÁ¸® ¸¶Ä¿"ÀÇ ÀϺΠÁÖ¿ä ±â´ÉÀº ´ÙÀ½°ú °°½À´Ï´Ù ¹ü¿ë : HTML, XML, RTF, Java ¼Ò½º ÄÚµå µî ¡¤ ÅؽºÆ®ÀÇ ¾î¶² Á¾·ù¸¦ »ý¼ºÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù °æ·® ¡¤ °£ÆíÇÑÀÌ Á¦Ç°¿¡ »ðÀÔÇÕ´Ï´Ù. ¼ºí¸´ ȯ°æ (¿¡¼ javax.servlet Ŭ·¡½º¿¡ ÀÇÁ¸ÇÏÁö ¾Ê´Â´Ù)ÀÌ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. ¡¤ Ç÷¯±× ÅÛÇø´ ·Î´õ : ´ç½ÅÀÌ ¾î¶² ¼Ò½º¿¡¼ ÅÛÇø´À»·Îµå ÇÒ ¼ö ÀÖ½À´Ï´Ù; ·ÎÄà ÆÄÀÏ, µ¥ÀÌÅͺ£À̽º µî ¡¤ ´ç½ÅÀº »ý¼º µÈ ÅؽºÆ®¿Í ÇÔ²² ´ç½ÅÀÌ ¿øÇÏ´Â ¹«¾ùÀ̵ç ÇÒ ¼ö ÀÖ½À´Ï´Ù, ·ÎÄà ÆÄÀÏ¿¡ ÀúÀå ÀüÀÚ ¸ÞÀÏ·Î º¸³¾ µî À¥ ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ À¥ ºê¶ó¿ìÀú·Î ´Ù½Ã º¸³» °·ÂÇÑ ÅÛÇø´ ¾ð¾î : ¡¤ ¸ðµç ÀϹÝÀûÀÎ Áöħ : Æ÷ÇÔ, °æ¿ì / ELSEIF / ´Ù¸¥, ·çÇÁ ±¸Á¶. ¡¤ ¸¸µé±â ¹× ÅÛÇø´¿¡ º¯¼ö¸¦ º¯°æ. ¡¤ °ÅÀÇ ¸ðµç °÷¿¡¼ °ªÀ» ÁöÁ¤ÇÏ´Â º¹ÀâÇÑ ½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ ¹®ÀÚ¿ ÀÛ¾÷ : ¿¬°á, ÇÏÀ§ ¹®ÀÚ¿, ´ë¹®ÀÚ, ´ë¹®ÀÚ, Å»Ãâ µî ¡¤ ¼Ò¼öÁ¡ Á¤¹Ðµµ »ê¼ú °è»ê ¡¤ ºÎ¿ï ¿¬»ê ¡¤ µ¶¼ ¹è¿°ú ¿¬°ü ¹è¿ ¿ä¼Ò ¡¤ ¹è¿°ú ¿¬°ü ¹è¿ ¸®ÅÍ·² ¡¤ ´ç½ÅÀº Ưº°ÇÑ °è»êÀ» À§ÇØ ÀÚ½ÅÀÇ ÇÔ¼ö (¸Þ¼Òµå)¸¦ Ãß°¡ ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̸§ ¹× À§Ä¡ ÆĶó¹ÌÅ͵鿡 Áßø ³»¿ë (º»¹®)¿Í ¸ÅÅ©·Î. ¿¹¸¦ µé¾î: ¡¤ <@mymacro »ö = "»¡°"Æø = 2> ... <@¸¦ mymacro/> ¡¤ µµ¿òÀ» ±¸ÃàÇÏ°í Àç»ç¿ë °¡´ÉÇÑ ¸ÅÅ©·Î ¶óÀ̺귯¸®¸¦ À¯ÁöÇϰųª À̸§ÀÇ Ãæµ¹¿¡ ´ëÇÑ °ÆÁ¤¾øÀÌ, ºÐ¸® µÈ ¸ðµâ·Î Å« ÇÁ·ÎÁ§Æ®¸¦ ºÐÇÒÇÏ´Â À̸§ °ø°£. ¡¤ Ãâ·Â º¯È¯ ºí·Ï. Áßø ´ÜÆí ÅÛÇø´¿¡ ÀÇÇØ »ý¼º µÈ Ãâ·Â HTML À̽ºÄÉÀÌÇÁ, ¾ÐÃà, ±¸¹® °Á¶ µîÀÇ º¯È¯À» ¼öÇà. ´ç½ÅÀº ´ç½ÅÀÇ ÀÚ½ÅÀÇ º¯È¯À» Á¤ÀÇ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¾çÇÑ µ¥ÀÌÅÍ ¸ðµ¨ : ÀÚ¹Ù °´Ã¼¿¡ ¡¤ ÇÁ¸® ¸¶Ä¿´Â Á÷Á¢ ¹Ý»ç¸¦ ÅëÇØ ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù; ÀÚ¹Ù °´Ã¼´Â Ç÷¯±× °´Ã¼ ·¡ÆÛ¸¦ ÅëÇØ º¯¼ö·Î ÅÛÇø´¿¡ ³ëÃâµÇ¾îÀÖ´Ù. µû¶ó¼, ´ç½ÅÀº ±â¼úÀû ÀÎ ¼¼ºÎ »çÇ×À¸·Î ±×µéÀ» ±ÍÂú°ÔÇÏÁö ¾Ê°í, ÅÛÇø´ ÀÛ¼ºÀÚ Ãß»óÀû ÀÎ ¸ÂÃãÇü ¹æ½ÄÀ¸·Î °´Ã¼ (ÀÚ¹Ù Äá, XML ¹®¼, SQL Äõ¸® °á°ú ¼¼Æ® µî)À» Ç¥½Ã ÇÒ ¼ö ÀÖ½À´Ï´Ù. À¥ Áغñ : ¡¤ ³»Àå ±¸Á¶ ÅÛÇø´ ¾ð¾î HTML À̽ºÄÉÀÌÇÁ °°Àº ÀϹÝÀûÀÎ À¥ °ü·Ã ÀÛ¾÷À» ó¸® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ ¾Æ¿ô - ¿Àºê - ¹Ú½º JSP ±³Ã¼·Î "¸ðµ¨ÀÌ"À¥ ÀÀ¿ë ÇÁ·Î±×·¥ ÇÁ·¹ÀÓ ¿öÅ©¿Í ÅëÇÕ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤Àº JSPÀÇ ÅÂ±× ¶óÀ̺귯¸®¸¦ Áö¿øÇÕ´Ï´Ù. ¾ÖÇø®ÄÉÀÌ¼Ç ·ÎÁ÷¿¡¼ º°µµÀÇ ½Ã°¢ µðÀÚÀÎ, ÇÁ·Î±×·¡¸Ó¿¡¼ º°µµÀÇ ÆäÀÌÁö µðÀÚÀÌ³Ê : ¡¤ MVC ÆÐÅÏ¿¡ ´ëÇÑ ¼³°èµÇ¾ú½À´Ï´Ù. ±¹Á¦È / ÇöÁöÈ ÀÎ½Ä : ¡¤ ÀÎ½Ä Ä³¸¯ÅÍ ¼¼Æ® (¿ëµµ´Â ³»ºÎÀûÀ¸·Î À¯´Ï ÄÚµå). ¡¤ ·ÎÄÉÀÏ¿¡ ¹Î°¨ÇÑ ¼ýÀÚ Çü½Ä. ¡¤ ·ÎÄÉÀÏ¿¡ ¹Î°¨ÇÑ ³¯Â¥¿Í ½Ã°£ Çü½Ä. ¡¤ ¹Ì±¹ ÀÌ¿ÜÀÇ ¹®ÀÚ (º¯¼ö À̸§À¸·Î) ½Äº°ÀÚ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ ´Ù¸¥ ¾ð¾î¿¡ ´ëÇØ µ¿ÀÏÇÑ ÅÛÇø´ÀÇ ¿©·¯ º¯È. °·ÂÇÑ XML ó¸® ±â´É : ¡¤ <#recurse> ¹× <#visit> Áö½Ã¹® (¹öÀü 2.3ÀÇ »õ·Î¿î ¹öÀü 2.3ÀÇ »õ·Î¿î)Àº XML Æ®¸®¸¦ Àç±Í ÀûÀ¸·Î °È´Â °ÍÀ» À§ÇØ ¡¤ ÅÛÇø´¿¡¼ ¾×¼¼½º ÇÒ ¼öÀÖ´Â ±ú²ýÇÏ°í Á÷°üÀû ÀÎ XML °´Ã¼ ¸ðµ¨. ´Ù¸¥ Á¦Ç°°ú ºñ±³ : ¡¤ ÇÁ¸® ¿¥Ä¿¸¦ Apache ¼Óµµ·Î ±¸º°ÇÏ´Â °Íµµ °ü½ÉÀÌÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸±¸®½º¿¡¼´Â »õ·Î¿î ±â´É : ¡¤ Java ¹è¿¿¡ ´ëÇÑ ¼ø¼°¡ À߸ø Æó±âµÇÁö ¾ÊÀº ¹ö±× ¼öÁ¤ (¹ö±× º¸°í¼ ÂüÁ¶) ¡¤ »õ·Î¿î freemarker.runtimeÀ» ¸¸µé¾ú½À´Ï´Ù. <#attempt> ºí·Ï¿¡¼ ÀâÈù ¿¹¿Ü°¡ µð¹ö±× ½É°¢µµ·Î ·Î±×Àε˴ϴÙ. ¡¤ RhinowrapperÀÇ ¸ðµç ¹öÀüÀÇ RhinoÀÇ undefined.Instance·Î ÀÎÇØ RhinowrapperÀÇ ¸ðµç RhinoÀÇ ¸ðµç ¹öÀüÀ¸·Î ÀÛµ¿ÇÏÁö ¾Ê´Â °æ¿ì (¿À·¡µÈ) ¹®Á¦¸¦ ÇØ°áÇÕ´Ï´Ù. ¡¤ ¸ÅÅ©·Î À̸§Àº API¸¦ ÅëÇØ ´õ ÀÌ»ó º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.
ÇÁ¸® ÇðÄ¿ °ü·Ã ¼ÒÇÁÆ®¿þ¾î
![](https://icon.softwaresea.com/48x48/5/34/1016515.23017309d8d4207760d40ebf826017fe.gif)
![](https://icon.softwaresea.com/48x48/5/34/1016788.23b601f01774751c037a44e074b53e5e.gif)
![](https://icon.softwaresea.com/48x48/5/25/1012356.5a68ac0152c0cd39ad5f82bb93133838.gif)
![](https://icon.softwaresea.com/48x48/5/25/1012365.e1cd9b82e981d69b28cf10fa33a95627.gif)
![](https://icon.softwaresea.com/48x48/5/25/1012366.e5446a3c92b4fbb4b7f5c47c6ddc06bf.gif)
¸®Æ®¸®¹ö ´Ù¿î·Îµå °ü¸®ÀÚ
¸®Æ®¸®¹ö¸¦ »ç¿ëÇϸé ÀÎÅͳݿ¡¼ ´õ ½±°í À¥ ºê¶ó¿ìÀúº¸´Ù ´õ ¸¹Àº ÄÁÆ®·ÑÀ» »ç¿ëÇÏ¿© ÆÄÀÏÀ» ´Ù¿î·Îµå ÇÒ ¼ö ÀÖ½À´Ï´Ù. ...
82