JavaScript È°¿ëÆÁ
2019.06.04 / 18:58

[JSP] naver SmartEditor2 À̹ÌÁö ÷ºÎ ±â´É (¼öÁ¤ º¸¿Ï)

Źµ¹ÀÌ°³¹ßÀÚ
Ãßõ ¼ö 308

https://zero-gravity.tistory.com/171

Á¤¸» ºÒÄ£ÀýÇÑ ³×À̹ö°¡ÀÌµå ¶§¹®¿¡ ÀÌ°É ÇÏ´À¶ó°í ¾ó¸¶³ª °í»ýÇß´ÂÁö ¸ð¸¥´Ù. ÀüºÎ php·Î µÇ¾î À־ ÀÌ°É jsp·Î ¹Ù²Ù°í ÇØ¾ß Çϴµ¥, ´Ù¸¥ »ç¶÷µéÀÌ ºí·Î±×¿¡ ¿Ã·Á³õÀº °ÍµéÀ» º¸´Ï Àú¸¶´Ù Á¶°¢Á¶°¢À̶ó ¾îÂîÇÒ ¹æµµ°¡ ¾ø¾ú´Ù. °á±¹ ȸ»ç ¼±¹èÀÇ µµ¿òÀ¸·Î ÇØ°á..


   È¤½Ã¶óµµ ³ª°°ÀÌ jsp ½º¸¶Æ®¿¡µðÅÍ À̹ÌÁö ÷ºÎ¸¦ ¹ÌÄ£µíÀÌ ±¸±Û¸µÇÏ°í ÀÖÀ» ºÒ½ÖÇÑ Áß»ýµéÀ» À§ÇØ ¾Æ·¡ ÆÄÀÏ°ú °£´ÜÇÑ ¹æ¹ýÀ» ¿Ã¸°´Ù.




 se2.zip



   ¸ÕÀú ÷ºÎÇÑ ÆÄÀÏÀ» ´Ù¿î·Îµå ¹Þ¾Æ¼­ Æú´õ° ¼­¹ö¿¡ º¹»ç ºÙ¿©³Ö±â ÇÑ´Ù.


   ±×¸®°í cos.jarÆÄÀÏÀ» lib¿¡ Ãß°¡ÇØÁØ´Ù. ÀÌ ±Û ÂüÁ¶ ¡æ http://zero-gravity.tistory.com/168 

   (MultipartRequest¿Í DefaultFileRenamePolicy¸¦ »ç¿ëÇϱ⠶§¹®..)


   ³ª¸ÓÁö´Â ´Ù¸¥ ȯ°æ¿¡¼­ ÀÛµ¿Çϵµ·Ï ÷ºÎÇÑ ÆÄÀϵ鿡¼­ ¸î¸î ¼³Á¤¸¸ º¯°æÇØÁÖ¸é µÈ´Ù.



se2 > photo_uploader > popup > file_uploader.jsp


path¸¦ °¢ÀÚÀÇ "¼­¹ö ¾È¿¡ ÀÖ´Â Æú´õ"·Î °æ·Î¸¦ º¯°æÇØÁØ´Ù.

¿¡¸¦ µé¾î, ÇÁ·ÎÁ§Æ®ÀÇ WebContent ¾È¿¡ Àִ uploadFolder¸¦ °æ·Î·Î ¼³Á¤ÇÏ°í ½Í´Ù¸é,

¾Æ·¡¿Í °°ÀÌ º¯°æÇØÁà¾ß ÇÑ´Ù. °¢ÀÚ °æ·Î¿¡ ¸ÂÃç¼­.(¹«½¼ ¸»ÀÎÁö ¾Ë °Å´Ù.)

String path = "D:/folder/workspace/projectName/WebContent/uploadFolder";


path´Â ½º¸¶Æ®¿¡µðÅÍ·Î À̹ÌÁö¸¦ ÷ºÎÇßÀ» ½Ã¿¡ ¾÷·Îµå µÉ °æ·Î´Ù.

Âü°í: ¸¸¾à path¸¦ request.getSession().getServletContext().getRealPath("/") + File.separator + "ÀúÀåµÉ Æú´õ" ÀÌ·± ½ÄÀ¸·Î ½áÁÖ¸é Æú´õ¸¦ »õ·Î°íħ ÇÏÁö ¾Ê¾Æµµ À̹ÌÁö¸¦ Áï°¢ÀûÀ¸·Î È®ÀÎÇÒ ¼ö ÀÖ´Ù. ÀÌ ¶§ À̹ÌÁö°¡ ÀúÀåµÇ´Â °÷Àº metadataÂÊÀÌ´Ù.




   ±×¸®°í³ª¼­,,


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!-- Smart Editor -->
<script type="text/javascript" src="<%=request.getContextPath()%>/se2Æú´õ¸¦ ºÙ¿©³Ö±â ÇÑ °÷ÀÇ °æ·Î/se2/js/HuskyEZCreator.js" charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/se2Æú´õ¸¦ ºÙ¿©³Ö±â ÇÑ °÷ÀÇ °æ·Î/se2/photo_uploader/plugin/hp_SE2M_AttachQuickPhoto.js" charset="utf-8"></script>
 
 
<!-- Smart Editor -->
<script type="text/javascript">
 
var oEditors = [];
nhn.husky.EZCreator.createInIFrame({
    oAppRef: oEditors,
    elPlaceHolder: "textAreaContent",
    sSkinURI: "<%=request.getContextPath()%>/se2Æú´õ¸¦ ºÙ¿©³Ö±â ÇÑ °÷ÀÇ °æ·Î/se2/SmartEditor2Skin.html",
    fCreator: "createSEditor2"
});
 
//¡®ÀúÀ塯 ¹öÆ°À» ´©¸£´Â µî ÀúÀåÀ» À§ÇÑ ¾×¼ÇÀ» ÇßÀ» ¶§ submitContents°¡ È£ÃâµÈ´Ù°í °¡Á¤ÇÑ´Ù.
function submitContents(elClickedObj) {
    // ¿¡µðÅÍÀÇ ³»¿ëÀÌ textarea¿¡ Àû¿ëµÈ´Ù.
    oEditors.getById["textAreaContent"].exec("UPDATE_CONTENTS_FIELD", [ ]);
 
    // ¿¡µðÅÍÀÇ ³»¿ë¿¡ ´ëÇÑ °ª °ËÁõÀº ÀÌ°÷¿¡¼­
    // document.getElementById("textAreaContent").value¸¦ ÀÌ¿ëÇؼ­ ó¸®ÇÑ´Ù.
  
    try {
        elClickedObj.form.submit();
    catch(e) {
     
    }
}
 
// textArea¿¡ À̹ÌÁö ÷ºÎ
function pasteHTML(filepath){
    var sHTML = '<img src="<%=request.getContextPath()%>/path¿¡¼­ ¼³Á¤Çß´ø °æ·Î/'+filepath+'">';
    oEditors.getById["textAreaContent"].exec("PASTE_HTML", [sHTML]);
}
 
</script>

   ½º¸¶Æ®¿¡µðÅ͸¦ »ç¿ëÇÒ jspÆäÀÌÁö¿¡ À§¿Í °°ÀÌ ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ »ðÀÔÇÑ´Ù.



   textarea ű×ÀÇ id °ªÀ» ÀÚ¹Ù½ºÅ©¸³Æ®¿¡ ³Ö¾ú´ø id¿Í °°°Ô ÇØÁÖ´Â °Íµµ ÀØÁö ¸»ÀÚ.


1
<textarea style="width: 100%" rows="10" name="content" id="textAreaContent" cols="80"></textarea>



   ´ÙÀ½Àº ¼³Á¤À» ¸ðµÎ ³¡³»°í ½º¸¶Æ®¿¡µðÅ͸¦ ½ÇÇàÇßÀ» ½ÃÀÇ È­¸éÀÌ´Ù.




¿ìÃø »ó´Ü¿¡ ÀÖ´Â "»çÁø"À» Ŭ¸¯.



»çÁø ÷ºÎÇϱâ âÀÌ ¶ã °ÍÀÌ´Ù.

À̹ÌÁö¸¦ ÷ºÎÇÏ°í È®ÀÎ.



±×·³ ÀÌ·¸°Ô À̹ÌÁö°¡ X¹Ú½º Ç¥½ÃµÇ¾î ³ª¿Â´Ù.

Á¤»óÀûÀÌ´Ù. ¿Ö³ÄÇϸé ÀÌŬ¸³½º¿¡¼­ »õ·Î°íħÀ» ÇÏÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù.

½ÇÁ¦·Î º» ¼­¹ö¿¡ ¿Ã¸®¸é Àß µ¹¾Æ°£´Ù.

±×·³ À̹ÌÁö°¡ ¿Ã¶ó°¬´ÂÁö ¾î¶»°Ô È®ÀÎÇϳª?



ÀÏ´Ü ÀÌŬ¸³½º¿¡¼­ À̹ÌÁö°¡ ¿Ã¶ó°£ Æú´õ¿¡ »õ·Î°íħÀ» ÇØÁÖ°í(À̶§ ¿Ã·È´ø À̹ÌÁö°¡ Ãß°¡µÆ´Ù¸é ¼º°øÇÑ °Å´Ù),

½º¸¶Æ®¿¡µðÅÍÀÇ HTML·Î °¡¼­ ³»¿ëÀ» º¹»çÇÑ´Ù.



½º¸¶Æ®¿¡µðÅ͸¦ ´Ù½Ã ½ÇÇàÇÏ°í, HTML·Î °¡¼­ º¹»çÇÑ ³»¿ëÀ» ºÙ¿©³Ö±âÇÑ´Ù.



Editor·Î µ¹¾Æ¿À¸é §~!


   ±Û¾²±â¸¦ ¿Ï·áÇÏÁö ¾Ê¾Æµµ À̹ÌÁö ÆÄÀÏ ÀÚü´Â ¼­¹ö¿¡ ¾÷·Îµå µÈ´Ù.


   ±Û¾²±â¸¦ ¿Ï·áÇÒ °æ¿ì, DB¿¡´Â À̹ÌÁö ÆÄÀÏ ÀÚü°¡ ¿Ã¶ó°¡´Â °Ô ¾Æ´Ï¶ó ¾Æ±î HTML¿µ¿ª¿¡¼­ º¹»çÇß´ø ±× ³»¿ëÀÌ ¿Ã¶ó°£´Ù.





   ÀÌ·± µ¥¿¡ ½Ã°£À» ÇãºñÇÏ´Â °Ç ³Ê¹« ¾Æ±õÁö ¾ÊÀº°¡.

   ¾îÂ¥ÇÇ ¿ÀǼҽº °®´Ù ¾²´Â °Çµ¥,, ±×³É ´ëÃæ ¾î¶»°Ô µ¹¾Æ°¡°Ú±¸³ª Á¤µµ¸¸ ¾Ë¸é µÈ´Ù°í º»´Ù.

   ÀÌ°Ô ¹¹¶ó°í.. È¥ÀÚ¸¸ ¾Ë·Á°í ²À²À ¼û±â´Â »ç¶÷µé º¸¸é Âü....

   ¹°·Ð °í»ý ´õ·´°Ô Çؼ­ ¾Ë·ÁÁֱ⠾Ʊõ°ÚÁö¸¸, ±×·± »ç¶÷Àº ´õ·´°Ô À̱âÀûÀÎ »ç¶÷À̶ó°í »ý°¢ÇÑ´Ù. ¤Ñ.¤Ñ..;

   Àηù°¡ ÀÌ·¸°Ô ¹ßÀüÇÒ ¼ö ÀÖ¾ú´ø µ¥¿¡´Â Áö½ÄÀÇ Àü´Þ°ú ÃàÀûÀÌ ÀÖ¾ú±â¿¡ °¡´ÉÇß´ø °Í ¾Æ´Ñ°¡. 

   °øÀ¯ÇÏ´Â ¼¼»óÀÌ ¾Æ¸§´Ù¿î ¼¼»óÀÌ´Ù. Å©~