'XMLList'에 해당되는 글 1건

  1. [2008/06/05] 문자열로 받은 XML 구문을 DataGrid에 바인딩하기

문자열로 받은 XML 구문을 DataGrid에 바인딩하기

[작렬허접코딩/Flex]

먼저 JSP 파일을 준비한다.
JSP 파일에서는 간단한 XML로 데이터를 리턴한다.

<%@ page language="java" contentType="text/html;charset=euc-kr" session="true" %>
<%@page import="java.io.*"%>
<%@page import="kr.co.jinjin.jjxweb.conf.JJXWebConf"%>
<%@include file="../sessionCheck.jsp"%>
<%
 JJXWebConf conf = JJXWebConf.getInstance();
%>
<?xml version="1.0" encoding="euc-kr"?>
<DATA>
 <RECORD>
  <confname>Home Dir</confname>
  <value><%= conf.get("homedir") %></value>
  <description><![CDATA[홈디렉토리]]></description>
 </RECORD>
 <RECORD>
  <confname>Request Encoding</confname>
  <value><%= conf.get("req_encoding") %></value>
  <description><![CDATA[사용자 요청 인코딩]]></description>
 </RECORD>
 <RECORD>
  <confname>Response Encoding</confname>
  <value><%= conf.get("res_encoding") %></value>
  <description><![CDATA[사용자 응답 인코딩]]></description>
 </RECORD>
 <RECORD>
  <confname>File Encoding</confname>
  <value><%= conf.get("file_encoding") %></value>
  <description><![CDATA[파일 인코딩]]></description>
 </RECORD>
 <RECORD>
  <confname>Configuration Dir</confname>
  <value><%= conf.get("homedir") + "conf" %></value>
  <description><![CDATA[환경설정파일 디렉토리]]></description>
 </RECORD>
 <RECORD>
  <confname>SQL ID</confname>
  <value><%= conf.get("sqlidf") %></value>
  <description><![CDATA[SQL 등록파일]]></description>
 </RECORD>
 <RECORD>
  <confname>Log Dir</confname>
  <value><%= conf.get("homedir") + "logs" %></value>
  <description><![CDATA[로그 디렉토리]]></description>
 </RECORD>
 <RECORD>
  <confname>Act Log</confname>
  <value><%= conf.get("actf") %></value>
  <description><![CDATA[작업내역 로그파일]]></description>
 </RECORD>
 <RECORD>
  <confname>WebReport Trace Log</confname>
  <value><%= conf.get("fifologf") %></value>
  <description><![CDATA[웹리포트 추적 로그파일]]></description>
 </RECORD>
 <RECORD>
  <confname>WebReport Dir</confname>
  <value><%= conf.get("homedir") + "report" %></value>
  <description><![CDATA[웹리포트 디렉토리]]></description>
 </RECORD>
 <RECORD>
  <confname>WebReport Module Dir</confname>
  <value><%= conf.get("homedir") + "report" + File.separator + "module" %></value>
  <description><![CDATA[웹리포트 모듈 디렉토리]]></description>
 </RECORD>
</DATA>

다음 Flex Application을 생성한다.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
  creationComplete="init()">
 
 <mx:Script>
  <![CDATA[
   System.useCodePage = true;
   
   import mx.utils.ArrayUtil;
   import mx.controls.Alert;
   import SQLInFlex.jjxweb2ext;
   
   private var dest1:String = "/adm/mng/GetConf.jsp";
   private var fmobj:jjxweb2ext = new jjxweb2ext(this);
   
   // Initialize Application
   private function init():void{
    var rcode:int = -1;
    rcode = fmobj.HR_SESSIONOPEN(true);
    if(rcode<0) {
     Alert.show("Failed session open:" + rcode + "/" + fmobj.getErrCode() + "/" + fmobj.getErrMsg());
     return;
    }
    readConf();
   }
   
   private function readConf():void {
    var rcode:int = -1;
    rcode = fmobj.HR_CALLJSP(dest1, "");
    if(rcode<0) {
     Alert.show("Error in HR_CALLJSP:" + fmobj.getErrCode() + "/" + fmobj.getErrMsg());
     return;
    }
    // 읽어온 XML 데이터를 가공
    var xmlData:XML = new XML(fmobj.getReceivedText());
    //Alert.show(xmlData.toString());
    var xmlDataList:XMLList = xmlData..RECORD;
    // datagrid에 바인딩시킨다.
    grid.dataProvider = xmlDataList;
   }
  ]]>
 </mx:Script>

 <mx:Panel layout="absolute" title="FlexMate 환경변수" left="22" right="10" bottom="10" top="10" fontSize="12">
  <mx:Button x="10" y="10" label="조회" id="rebtn" width="90" click="readConf();"/>
 
  <mx:DataGrid id="grid" top="40" bottom="10" left="10" right="10" >
   <mx:columns>
    <mx:DataGridColumn headerText="Variable" dataField="confname"  width="150"/>
    <mx:DataGridColumn headerText="Value" dataField="value"  width="400"/>
    <mx:DataGridColumn headerText="Description" dataField="description" width="200"/>
   </mx:columns>
  </mx:DataGrid>
 </mx:Panel>
 
</mx:Application>

하하하 정말 쉽지 않은가?

이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/06/05 13:48 2008/06/05 13:48