1. jsp를 이용해서 xplatform dataset에 바인딩해줄려면 xapi.jar 파일과 lisense.xml이 필요하다.
license는 http://xplatform.co.kr 에서 로그인 후 개발자 라이센스를 받으면 된다. (사용기간 2개월)
apache tomcat - lib폴더에 xapi.jar파일과 라이센스파일 넣어줌.
- 위 사진처럼 톰캣-lib폴더에 jar파일을 넣었다면 아래 jsp소스를 보자.(풀 소스)
2. db연결을 위한 jsp 코딩
<%@ page import="org.apache.commons.logging.*" %> <%@ page import="com.tobesoft.xplatform.data.*" %> <%@ page import="com.tobesoft.xplatform.tx.*" %> <%@ page import = "java.util.*" %> <%@ page import = "java.sql.*" %> <%@ page import = "java.io.*" %> <%@ page contentType="text/xml; charset=UTF-8" %> <% // PlatformData PlatformData o_xpData = new PlatformData(); int nErrorCode = 0; String strErrorMsg = "START"; try { /******* JDBC Connection *******/ Connection conn = null; Statement stmt = null; ResultSet rs = null; try { //Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=EDU;User=edu;Password=edu123"); Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "test", "test"); stmt = conn.createStatement(); /******* SQL ************/ String SQL="select * from tb_table"; rs = stmt.executeQuery(SQL); /********* Dataset **********/ DataSet ds = new DataSet("Dataset00"); ds.addColumn("id" ,DataTypes.STRING ,(short)100 ); ds.addColumn("name" ,DataTypes.STRING ,(short)500 ); ds.addColumn("data" ,DataTypes.STRING ,(short)300 ); while(rs.next()) { int row = ds.newRow(); ds.set(row ,"id" ,rs.getString("id") ); ds.set(row ,"name" ,rs.getString("name") ); ds.set(row ,"data" ,rs.getString("data") ); } // DataSet-->PlatformData o_xpData.addDataSet(ds); nErrorCode = 0; strErrorMsg = "SUCC"; } catch (SQLException e) { nErrorCode = -1; strErrorMsg = e.getMessage(); } /******** JDBC Close ********/ if ( stmt != null ) try { stmt.close(); } catch (Exception e) {nErrorCode = -1; strErrorMsg = e.getMessage();} if ( conn != null ) try { conn.close(); } catch (Exception e) {nErrorCode = -1; strErrorMsg = e.getMessage();} } catch (Throwable th) { nErrorCode = -1; strErrorMsg = th.getMessage(); } // VariableList VariableList varList = o_xpData.getVariableList(); //Variable--> VariableList varList.add("ErrorCode", nErrorCode); varList.add("ErrorMsg", strErrorMsg); // HttpPlatformResponse HttpPlatformResponse pRes = new HttpPlatformResponse(response, PlatformType.CONTENT_TYPE_XML, "UTF-8"); pRes.setData(o_xpData); // Send data pRes.sendData(); %>
- 풀 소스에서 고칠 부분만 본다면 (수정해야할 부분 주석처리)
Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "test", "test"); //개발자 환경에 맞는 db환경 설정 stmt = conn.createStatement(); /******* SQL ************/ String SQL="select * from tb_table"; // 사용할 테이블 rs = stmt.executeQuery(SQL); /********* Dataset **********/ DataSet ds = new DataSet("Dataset00"); // xplatform에서 테이블 데이터를 담을 dataset 지정 ds.addColumn("id" ,DataTypes.STRING ,(short)100 ); // addCulumn(String,dataType,dataSize) string value는 여기서 만든걸 xplatform dataset column명을 같게 해주거나 xplatform에서 만든걸 똑같이 넣어주면 된다. 즉, 일치하게만 해주면 됨. ds.addColumn("name" ,DataTypes.STRING ,(short)500 ); ds.addColumn("data" ,DataTypes.STRING ,(short)300 ); while(rs.next()) { int row = ds.newRow(); ds.set(row ,"id" ,rs.getString("id") ); //set(rowIndex,columnName,value) columnName은 위에서 적은 dataset column을 적어주고, value는 dataset에 바인딩할 실 table column명을 적어주면 된다. ds.set(row ,"name" ,rs.getString("name") ); ds.set(row ,"data" ,rs.getString("data") ); }
3. xplatform - jsp 연동
3-1 먼저 jsp를 tomcat\webapps\ROOT\ 에 넣거나, 이클립스 프로젝트를 생성하여 파일을 추가한다.
3-2 서버나 로컬에서 서버 작동.
3-3 xplatform TypeDefinition에서 root path 지정
-TypeDefinition 더블 클릭
- add를 누르면 add service group이라는 창이 뜬다. service type은 jsp로 해두고 id나 url 사용자 환경에 맞게 설정.
3-4 grid row1 : col0~colX까지 dataset 바인딩
* 바인딩 하기 위해선 dataset을 생성해야 하고 column들을 생성해줘야 한다.
3-5 버튼 컴포넌트를 생성하고 script 작성.
버튼을 만들고 더블클릭하면 script 함수가 자동 생성된다. default로 clickevent로 호출됨.
*참고로 이벤트 종류는 많으며 따로 properties창 event info 탭에서 선택 가능.
function Button00_onclick(obj:Button, e:ClickEventInfo) { Dataset00.url = "DataUrl::test.jsp"; // http://localhost:8080/xp/test.jsp Dataset00.load(); }
위와 같이 넣고 save all
4. 실행
- 돋보기에 번개모양의 아이콘을 클릭하여 화면을 띄어본다.
- 실행 확인
끝.
다음엔 eGovFrame 이용해서....
'개발 > 기타' 카테고리의 다른 글
[python] notepad++에서 python 실행시키기 (0) | 2014.01.09 |
---|---|
[python] django 설치 (0) | 2014.01.08 |
SyntaxHighlighter (0) | 2013.07.02 |
[JQuery] jquery api (0) | 2013.06.20 |
[XPlatForm] 실습 교육 정리 - 2. Grid 생성 및 Dataset 설정 (0) | 2013.06.16 |