java파일에 주석달기Ver2.xrw 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  3. <xhtml:head>
  4. <xhtml:title>Untitle</xhtml:title>
  5. <model id="model1">
  6. <instance id="instance1">
  7. <root xmlns="">
  8. <source>
  9. <source/>
  10. </source>
  11. <destination>
  12. <destination/>
  13. <destination2/>
  14. <des/>
  15. </destination>
  16. <app/>
  17. <appimpl/>
  18. <mgr/>
  19. <mgrimpl/>
  20. <dao/>
  21. <daoimpl/>
  22. <mgrnm>eqmtmgt</mgrnm>
  23. <daonm>eqmtinfoDao</daonm>
  24. <xml/>
  25. <des/>
  26. </root>
  27. </instance>
  28. <script type="javascript">
  29. <![CDATA[
  30. //Replace
  31. function fReplace(strStep1, strDelete)
  32. {
  33. var t1, t2;
  34. var flag1 = 0;
  35. var flag2 = 0;
  36. t1=strStep1.replace(strDelete, "");
  37. for (var i=0;i<=900;i++){
  38. if ((i%2)== 0){
  39. t2=t1.replace(strDelete, "");
  40. flag1 = 0;
  41. flag2 = 1;
  42. }else{
  43. t1=t2.replace(strDelete, "");
  44. flag1 = 1;
  45. flag2 = 0;
  46. }
  47. }
  48. if (flag1==1){return t1;}
  49. if (flag2==1){return t2;}
  50. }
  51. function fMakeComment() {
  52. var xmlArray, temp, strSource, strStep1;
  53. var xmlTypeArr, strXmlType;
  54. temp=model.getValue("/root/source/source");
  55. xmlTypeArr=temp.split("submit id=");
  56. temp=fReplace(xmlTypeArr[1], '"');
  57. strXmlType=temp.substr(0, 2);
  58. temp=model.getValue("/root/source/source");
  59. strSource=temp.replace('\"', '');
  60. xmlArray=strSource.split("--");
  61. strStep1 = "/** \n";
  62. strStep1 = strStep1 + " * <p>"+xmlArray[1]+"</p>\n";
  63. model.setValue("/root/des", xmlArray[1]);
  64. strStep1 = strStep1 + " * "+xmlArray[1]+"\n";
  65. strStep1 = strStep1 + " * \n";
  66. strStep1 = strStep1 + " * @param pVOs ValueObjectAssembler\n";
  67. var strSource=model.getValue("/root/source/source");
  68. var xmlArray=strSource.split("table id=");
  69. var xmlArray2 = xmlArray[1].split("count_ref");
  70. strStep1 = strStep1 + " * <p>"+xmlArray2[0]+" : 입력데이터\n";
  71. strStep1 = strStep1 + " * <ul>\n";
  72. var xmlArray=xmlArray2[1];
  73. var xmlArray2=xmlArray.split("column id=");
  74. for (var i=1;i<xmlArray2.length;i++){
  75. xmlArray = xmlArray2[i].split("desc=");
  76. var temp = xmlArray[1].split("ref=");
  77. strStep1 = strStep1 + " * <li>"+xmlArray[0]+" "+temp[0]+"\n";
  78. }
  79. strStep1 = strStep1 + " * </ul>\n";
  80. if ((strXmlType=="TR") || (strXmlType=="tr")){
  81. strStep1 = strStep1 + " * @return ValueObjectAssembler\n";
  82. temp=model.getValue("/root/source/source");
  83. strSource=temp.replace('\"', '');
  84. xmlArray=strSource.split("output path");
  85. xmlArray2=xmlArray[1].split("table id=");
  86. xmlArray=xmlArray2[1].split("count_ref");
  87. strStep1 = strStep1 + " * <p>"+xmlArray[0]+" : 출력데이터\n";
  88. strStep1 = strStep1 + " * <ul>\n";
  89. var xmlArray=xmlArray2[1];
  90. var xmlArray2=xmlArray.split("column id=");
  91. for (var i=1;i<xmlArray2.length;i++){
  92. xmlArray = xmlArray2[i].split("desc=");
  93. var temp = xmlArray[1].split("ref=");
  94. strStep1 = strStep1 + " * <li>"+xmlArray[0]+" "+temp[0]+"\n";
  95. }
  96. var strStep2;
  97. strStep2=fReplace(strStep1, '"string"');
  98. strStep1=fReplace(strStep2, '"CDATA"');
  99. strStep2=fReplace(strStep1, 'type=');
  100. strStep1=fReplace(strStep2, "=");
  101. strStep2=fReplace(strStep1, '"int"');
  102. strStep1=fReplace(strStep2, '"cdata"');
  103. strStep2=fReplace(strStep1, '"STRING"');
  104. strStep1=fReplace(strStep2, '"');
  105. strStep1 = strStep1 + " * </ul>\n";
  106. strStep1 = strStep1 + " * @throws LiveException\n";
  107. strStep1 = strStep1 + " */\n";
  108. }else{
  109. var strStep2;
  110. strStep2=fReplace(strStep1, '"string"');
  111. strStep1=fReplace(strStep2, '"CDATA"');
  112. strStep2=fReplace(strStep1, 'type=');
  113. strStep1=fReplace(strStep2, "=");
  114. strStep2=fReplace(strStep1, '"int"');
  115. strStep1=fReplace(strStep2, '"cdata"');
  116. strStep2=fReplace(strStep1, '"STRING"');
  117. strStep1=fReplace(strStep2, '"');
  118. strStep1 = strStep1 + " * @return int\n";
  119. strStep1 = strStep1 + " * @throws LiveException\n";
  120. strStep1 = strStep1 + " */\n";
  121. }
  122. model.setValue("/root/destination/destination", strStep1);
  123. model.refresh();
  124. }
  125. function fMakeComment2() {
  126. var xmlArray, temp, strSource, strStep1;
  127. var xmlTypeArr, strXmlType;
  128. temp=model.getValue("/root/source/source");
  129. xmlTypeArr=temp.split("submit id=");
  130. temp=fReplace(xmlTypeArr[1], '"');
  131. strXmlType=temp.substr(0, 2);
  132. temp=model.getValue("/root/source/source");
  133. strSource=temp.replace('\"', '');
  134. xmlArray=strSource.split("--");
  135. strStep1 = "/** \n";
  136. strStep1 = strStep1 + " * <p>"+xmlArray[1]+"</p>\n";
  137. strStep1 = strStep1 + " * "+xmlArray[1]+"\n";
  138. strStep1 = strStep1 + " * \n";
  139. strStep1 = strStep1 + " * @param pVO ValueObject\n";
  140. var strSource=model.getValue("/root/source/source");
  141. var xmlArray=strSource.split("table id=");
  142. var xmlArray2 = xmlArray[1].split("count_ref");
  143. strStep1 = strStep1 + " * <ul>\n";
  144. var xmlArray=xmlArray2[1];
  145. var xmlArray2=xmlArray.split("column id=");
  146. for (var i=1;i<xmlArray2.length;i++){
  147. xmlArray = xmlArray2[i].split("desc=");
  148. var temp = xmlArray[1].split("ref=");
  149. strStep1 = strStep1 + " * <li>"+xmlArray[0]+" "+temp[0]+"\n";
  150. }
  151. strStep1 = strStep1 + " * </ul>\n";
  152. if ((strXmlType=="TR") || (strXmlType=="tr")){
  153. strStep1 = strStep1 + " * @return ValueObject\n";
  154. temp=model.getValue("/root/source/source");
  155. strSource=temp.replace('\"', '');
  156. xmlArray=strSource.split("output path");
  157. xmlArray2=xmlArray[1].split("table id=");
  158. xmlArray=xmlArray2[1].split("count_ref");
  159. strStep1 = strStep1 + " * <p>"+xmlArray[0]+" : 출력데이터\n";
  160. strStep1 = strStep1 + " * <ul>\n";
  161. var xmlArray=xmlArray2[1];
  162. var xmlArray2=xmlArray.split("column id=");
  163. for (var i=1;i<xmlArray2.length;i++){
  164. xmlArray = xmlArray2[i].split("desc=");
  165. var temp = xmlArray[1].split("ref=");
  166. strStep1 = strStep1 + " * <li>"+xmlArray[0]+" "+temp[0]+"\n";
  167. }
  168. var strStep2;
  169. strStep2=fReplace(strStep1, '"string"');
  170. strStep1=fReplace(strStep2, '"CDATA"');
  171. strStep2=fReplace(strStep1, 'type=');
  172. strStep1=fReplace(strStep2, "=");
  173. strStep2=fReplace(strStep1, '"int"');
  174. strStep1=fReplace(strStep2, '"cdata"');
  175. strStep2=fReplace(strStep1, '"STRING"');
  176. strStep1=fReplace(strStep2, '"');
  177. strStep1 = strStep1 + " * </ul>\n";
  178. strStep1 = strStep1 + " * @throws LiveException\n";
  179. strStep1 = strStep1 + " */\n";
  180. }else{
  181. var strStep2;
  182. strStep2=fReplace(strStep1, '"string"');
  183. strStep1=fReplace(strStep2, '"CDATA"');
  184. strStep2=fReplace(strStep1, 'type=');
  185. strStep1=fReplace(strStep2, "=");
  186. strStep2=fReplace(strStep1, '"int"');
  187. strStep1=fReplace(strStep2, '"cdata"');
  188. strStep2=fReplace(strStep1, '"STRING"');
  189. strStep1=fReplace(strStep2, '"');
  190. strStep1 = strStep1 + " * @return int\n";
  191. strStep1 = strStep1 + " * @throws LiveException\n";
  192. strStep1 = strStep1 + " */\n";
  193. }
  194. model.setValue("/root/destination/destination2", strStep1);
  195. model.refresh();
  196. }
  197. function fMakeCodeInfo() {
  198. var strapp="";
  199. var strappimpl="";
  200. var funcnm = "";
  201. var listnm = "";
  202. var xmlArray, temp, strSource, strStep1;
  203. var xmlTypeArr, strXmlType;
  204. temp=model.getValue("/root/source/source");
  205. xmlTypeArr=temp.split("method=");
  206. temp=fReplace(xmlTypeArr[1], '"');
  207. var arr = temp.split(">");
  208. var funcnm = arr[0].substring(3, 4).toLowerCase() + arr[0].substring(4, arr[0].length);
  209. var flag;
  210. var aftfuncnm = funcnm.substring(3, funcnm.length);
  211. if(funcnm.substring(0, 3) == "get") {
  212. flag = "1";
  213. } else {
  214. flag = "2";
  215. }
  216. if(flag == "1") {
  217. xmlTypeArr = temp.split("<output");
  218. xmlTypeArr = xmlTypeArr[1].split("<table id=");
  219. xmlTypeArr = xmlTypeArr[1].split(" count_ref");
  220. listnm = xmlTypeArr[0];
  221. } else {
  222. xmlTypeArr = temp.split("<input");
  223. xmlTypeArr = xmlTypeArr[1].split("<table id=");
  224. xmlTypeArr = xmlTypeArr[1].split(" count_ref");
  225. listnm = xmlTypeArr[0];
  226. }
  227. var mgrnm = model.getValue("/root/mgrnm");
  228. var daonm = model.getValue("/root/daonm");
  229. var strapp;
  230. var strappimpl;
  231. var strmgr;
  232. var strmgrimpl;
  233. var strdao;
  234. var strdaoimpl;
  235. var xml;
  236. var appcomment = model.getValue("/root/destination/destination");
  237. var mgrcomment = model.getValue("/root/destination/destination2");
  238. var stmtcomment = model.getValue("/root/destination/des") + "\n";
  239. if(flag == "1") {
  240. strapp = appcomment;
  241. strapp += " public ValueObjectAssembler " + arr[0] + "(ValueObjectAssembler pVOs) throws LiveException;";
  242. strmgr = mgrcomment;
  243. strmgr += " public ValueObject " + funcnm + "(ValueObject pVO) throws LiveException;";
  244. strappimpl = appcomment;
  245. strappimpl += " public ValueObjectAssembler " + arr[0] + "(ValueObjectAssembler pVOs) throws LiveException {\n"
  246. + " ValueObject reqVO = pVOs.get(\"req\");\n"
  247. + " ValueObject getVO = null;\n"
  248. + " ValueObjectAssembler retVOs = new ValueObjectAssembler();\n"
  249. + " try {\n"
  250. + " getVO = " + mgrnm + "." + funcnm + "(reqVO);\n"
  251. + " retVOs.set(\"" + listnm + "\", getVO);\n\n"
  252. + " } catch (Exception ex) {\n"
  253. + " setRollbackOnly();\n"
  254. + " if(ex instanceof LiveException) {\n"
  255. + " throw (LiveException) ex;\n"
  256. + " } else {\n"
  257. + " throw new LiveException(\"com.error.90000\", ex);\n"
  258. + " }\n"
  259. + " }\n"
  260. + " return retVOs;\n"
  261. + " }"
  262. strmgrimpl = mgrcomment;
  263. strmgrimpl+= " public ValueObject " + funcnm + "(ValueObject pVO) throws LiveException {\n"
  264. + " return " + daonm + "." + funcnm + "(pVO);\n"
  265. + " }";
  266. strdaoimpl =mgrcomment;
  267. strdaoimpl+= " public ValueObject " + funcnm + "(ValueObject pVO) throws LiveException {\n"
  268. + " ValueObject getVO = null;\n"
  269. + " SqlQuery sql = sqlPage.getQuery(\"" + funcnm.toLowerCase() + "\");\n"
  270. + " getVO = executeQuery(sql, pVO);\n"
  271. + " return getVO;\n"
  272. + " }";
  273. xml = " <statement id=\"" + funcnm.toLowerCase() + "\"><![CDATA[\n\n"
  274. + " \]\]>\n"
  275. + " </statement>\n"
  276. } else {
  277. strapp = appcomment;
  278. strapp += " public ValueObjectAssembler " + arr[0] + "(ValueObjectAssembler pVOs) throws LiveException;";
  279. strappimpl = appcomment;
  280. strappimpl += " public ValueObjectAssembler " + arr[0] + "(ValueObjectAssembler pVOs) throws LiveException {\n"
  281. + " ValueObject reqVO = pVOs.get(\"req\");\n"
  282. + " ValueObject insVO = new ValueObject();\n"
  283. + " ValueObject setVO = new ValueObject();\n"
  284. + " ValueObject delVO = new ValueObject();\n"
  285. + " int insCnt = 0;\n"
  286. + " int setCnt = 0;\n"
  287. + " int delCnt = 0;\n"
  288. + " String rowStatus = null;\n"
  289. + " \n"
  290. + " try {\n"
  291. + " for (int i = 0; i < reqVO.size(); i++) {\n"
  292. + " rowStatus = reqVO.getString(i, \"status\");\n"
  293. + " \n"
  294. + " if(\"i\".equals(rowStatus)) {\n"
  295. + " insVO.addRow(reqVO.getRow(i));\n"
  296. + " }\n\n"
  297. + " if(\"u\".equals(rowStatus)) {\n"
  298. + " setVO.addRow(reqVO.getRow(i));\n"
  299. + " }\n\n"
  300. + " if(\"d\".equals(rowStatus)) {\n"
  301. + " delVO.addRow(reqVO.getRow(i));\n"
  302. + " }\n\n"
  303. + " }\n\n"
  304. + " if(insVO.size() > 0) {\n"
  305. + " insCnt = " + mgrnm + ".ins" + aftfuncnm + "(insVO);\n"
  306. + " }\n\n"
  307. + " if(setVO.size() > 0) {\n"
  308. + " setCnt = " + mgrnm + ".set" + aftfuncnm + "(setVO);\n"
  309. + " }\n\n"
  310. + " if(delVO.size() > 0) {\n"
  311. + " delCnt = " + mgrnm + ".del" + aftfuncnm + "(delVO);\n"
  312. + " }\n\n"
  313. + " } catch (Exception ex) {\n"
  314. + " setRollbackOnly();\n"
  315. + " if(ex instanceof LiveException) {\n"
  316. + " throw (LiveException) ex;\n"
  317. + " } else {\n"
  318. + " throw new LiveException(\"com.error.90000\", ex);\n"
  319. + " }\n"
  320. + " }\n"
  321. + " return pVOs;\n"
  322. + " }\n";
  323. strmgr = mgrcomment;
  324. strmgr += " public int " + "ins" + aftfuncnm + "(ValueObject pVO) throws LiveException;\n\n"
  325. + mgrcomment
  326. + " public int " + "set" + aftfuncnm + "(ValueObject pVO) throws LiveException;\n\n"
  327. + mgrcomment
  328. + " public int " + "del" + aftfuncnm + "(ValueObject pVO) throws LiveException;\n\n"
  329. strmgrimpl = mgrcomment
  330. + " public int " + "ins" + aftfuncnm + "(ValueObject pVO) throws LiveException {\n"
  331. + " return " + daonm + "." + "ins" + aftfuncnm + "(pVO);\n"
  332. + " }\n\n"
  333. + mgrcomment
  334. + " public int " + "set" + aftfuncnm + "(ValueObject pVO) throws LiveException {\n"
  335. + " return " + daonm + "." + "set" + aftfuncnm + "(pVO);\n"
  336. + " }\n\n"
  337. + mgrcomment
  338. + " public int " + "del" + aftfuncnm + "(ValueObject pVO) throws LiveException {\n"
  339. + " return " + daonm + "." + "del" + aftfuncnm + "(pVO);\n"
  340. + " }\n\n"
  341. ;
  342. strdaoimpl = mgrcomment
  343. + " public int " + "ins" + aftfuncnm + "(ValueObject pVO) throws LiveException {\n"
  344. + " int cnt[] = null;\n"
  345. + " SqlQuery sql = sqlPage.getQuery(\"" + "ins" + aftfuncnm.toLowerCase() + "\");\n"
  346. + " cnt = executeBatch(sql, pVO);\n\n"
  347. + " return cnt.length;\n"
  348. + " }\n\n"
  349. + mgrcomment
  350. + " public int " + "set" + aftfuncnm + "(ValueObject pVO) throws LiveException {\n"
  351. + " int cnt[] = null;\n"
  352. + " SqlQuery sql = sqlPage.getQuery(\"" + "set" + aftfuncnm.toLowerCase() + "\");\n"
  353. + " cnt = executeBatch(sql, pVO);\n\n"
  354. + " return cnt.length;\n"
  355. + " }\n\n"
  356. + mgrcomment
  357. + " public int " + "del" + aftfuncnm + "(ValueObject pVO) throws LiveException {\n"
  358. + " int cnt[] = null;\n"
  359. + " SqlQuery sql = sqlPage.getQuery(\"" + "del" + aftfuncnm.toLowerCase() + "\");\n"
  360. + " cnt = executeBatch(sql, pVO);\n\n"
  361. + " return cnt.length;\n"
  362. + " }\n\n";
  363. xml = " <statement id=\"" + "ins" + aftfuncnm.toLowerCase() + "\"><![CDATA[\n\n"
  364. + " \]\]>\n"
  365. + " </statement>\n\n"
  366. + " <statement id=\"" + "set" + aftfuncnm.toLowerCase() + "\"><![CDATA[\n\n"
  367. + " \]\]>\n"
  368. + " </statement>\n\n"
  369. + " <statement id=\"" + "del" + aftfuncnm.toLowerCase() + "\"><![CDATA[\n\n"
  370. + " \]\]>\n"
  371. + " </statement>\n\n"
  372. }
  373. model.setValue("/root/app", strapp);
  374. model.setValue("/root/appimpl", strappimpl);
  375. model.setValue("/root/mgr", strmgr);
  376. model.setValue("/root/mgrimpl", strmgrimpl);
  377. model.setValue("/root/dao", strmgr);
  378. model.setValue("/root/daoimpl", strdaoimpl);
  379. model.setValue("/root/xml", xml);
  380. model.refresh();
  381. }
  382. ]]>
  383. </script>
  384. </model>
  385. </xhtml:head>
  386. <xhtml:body>
  387. <button id="button1" style="left:25px; top:480px; width:110px; height:40px; ">
  388. <caption>실행</caption>
  389. <script type="javascript" ev:event="onclick">
  390. <![CDATA[
  391. fMakeComment();
  392. ]]>
  393. </script>
  394. </button>
  395. <textarea id="textarea1" ref="/root/source/source" style="left:10px; top:60px; width:265px; height:400px; "/>
  396. <textarea id="textarea2" ref="/root/destination/destination" style="left:285px; top:60px; width:360px; height:180px; "/>
  397. <button id="button2" style="left:150px; top:480px; width:110px; height:40px; ">
  398. <caption>지우기</caption>
  399. <script type="javascript" ev:event="onclick">
  400. <![CDATA[
  401. model.setValue("/root/source/source", "");
  402. model.setValue("/root/destination/destination", "");
  403. model.refresh();
  404. ]]>
  405. </script>
  406. </button>
  407. <caption id="caption4" class="tit_2" style="left:15px; top:20px; width:179px; height:25px; ">map 파일을 붙여 넣어 주세요.</caption>
  408. <caption id="caption1" class="tit_2" style="left:455px; top:20px; width:179px; height:25px; ">처리된 내용입니다.</caption>
  409. <button id="button3" style="left:30px; top:525px; width:100px; height:20px; ">
  410. <caption>실행2</caption>
  411. <script type="javascript" ev:event="DOMActivate">
  412. <![CDATA[
  413. fMakeComment();
  414. fMakeComment2();
  415. fMakeCodeInfo();
  416. ]]>
  417. </script>
  418. </button>
  419. <textarea id="textarea5" ref="/root/mgr" style="left:655px; top:45px; width:365px; height:60px; "/>
  420. <textarea id="textarea6" ref="/root/mgrimpl" style="left:655px; top:125px; width:365px; height:110px; "/>
  421. <caption id="caption2" class="tit_2" style="left:285px; top:40px; width:29px; height:15px; ">app</caption>
  422. <caption id="caption3" class="tit_2" style="left:285px; top:250px; width:29px; height:15px; ">app</caption>
  423. <caption id="caption5" class="tit_2" style="left:290px; top:325px; width:51px; height:15px; ">appimpl</caption>
  424. <caption id="caption6" class="tit_2" style="left:660px; top:25px; width:29px; height:15px; ">mgr</caption>
  425. <caption id="caption7" class="tit_2" style="left:660px; top:110px; width:51px; height:15px; ">mgrimpl</caption>
  426. <textarea id="textarea7" ref="/root/daoimpl" style="left:655px; top:350px; width:365px; height:110px; "/>
  427. <caption id="caption8" class="tit_2" style="left:660px; top:250px; width:29px; height:15px; ">dao</caption>
  428. <caption id="caption9" class="tit_2" style="left:660px; top:335px; width:51px; height:15px; ">daoimpl</caption>
  429. <textarea id="textarea8" ref="/root/dao" style="left:655px; top:270px; width:365px; height:60px; "/>
  430. <input id="input1" ref="/root/mgrnm" style="left:10px; top:605px; width:100px; height:20px; "/>
  431. <input id="input2" ref="/root/daonm" style="left:15px; top:665px; width:100px; height:20px; "/>
  432. <caption id="caption10" class="tit_2" style="left:655px; top:510px; width:62px; height:15px; ">statement</caption>
  433. <textarea id="textarea9" ref="/root/xml" style="left:655px; top:530px; width:365px; height:110px; "/>
  434. <textarea id="textarea3" ref="/root/app" style="left:285px; top:60px; width:365px; height:265px; "/>
  435. <caption id="caption11" style="left:15px; top:630px; width:218px; height:20px; vertical-align:middle; ">app단에서 mgr호출할때 쓰는 객체명</caption>
  436. <caption id="caption12" style="left:15px; top:690px; width:218px; height:20px; vertical-align:middle; ">mgt단에서 dao호출할때 쓰는 객체명</caption>
  437. <textarea id="textarea4" ref="/root/appimpl" style="left:285px; top:345px; width:365px; height:425px; "/>
  438. </xhtml:body>
  439. </xhtml:html>